Compare commits
5 commits
46fcf8130d
...
00bfe60c32
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
00bfe60c32 | ||
|
|
59b0c403ea | ||
|
|
a6c0b9b43f | ||
|
|
46b97baf92 | ||
|
|
0f2a3fc9fa |
9
data/mounts/0003_venusaur.tres
Normal file
9
data/mounts/0003_venusaur.tres
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
[gd_resource type="Resource" script_class="MountProfile" format=3 uid="uid://bpihsc6nvxvs0"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://chdpnt5c4bel3" path="res://game/mount/mount_profile.gd" id="1_80e26"]
|
||||
[ext_resource type="Resource" uid="uid://ykgkoo67gpr5" path="res://data/pokeapi/pokemon/0003_venusaur.tres" id="2_ubqjg"]
|
||||
|
||||
[resource]
|
||||
script = ExtResource("1_80e26")
|
||||
species = ExtResource("2_ubqjg")
|
||||
metadata/_custom_type_script = "uid://chdpnt5c4bel3"
|
||||
BIN
data/pokeapi/cries/0003_venusaur.ogg
Normal file
BIN
data/pokeapi/cries/0003_venusaur.ogg
Normal file
Binary file not shown.
19
data/pokeapi/cries/0003_venusaur.ogg.import
Normal file
19
data/pokeapi/cries/0003_venusaur.ogg.import
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://kajy4yhr6tcm"
|
||||
path="res://.godot/imported/0003_venusaur.ogg-f276f4b637f6a78c8a94a9d15dffde5a.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://data/pokeapi/cries/0003_venusaur.ogg"
|
||||
dest_files=["res://.godot/imported/0003_venusaur.ogg-f276f4b637f6a78c8a94a9d15dffde5a.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
BIN
data/pokeapi/cries/10033_venusaur-mega.ogg
Normal file
BIN
data/pokeapi/cries/10033_venusaur-mega.ogg
Normal file
Binary file not shown.
18
data/pokeapi/cries/10033_venusaur-mega.ogg.import
Normal file
18
data/pokeapi/cries/10033_venusaur-mega.ogg.import
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://bghy1qjvaeaq8"
|
||||
valid=false
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://data/pokeapi/cries/10033_venusaur-mega.ogg"
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
BIN
data/pokeapi/cries/10195_venusaur-gmax.ogg
Normal file
BIN
data/pokeapi/cries/10195_venusaur-gmax.ogg
Normal file
Binary file not shown.
19
data/pokeapi/cries/10195_venusaur-gmax.ogg.import
Normal file
19
data/pokeapi/cries/10195_venusaur-gmax.ogg.import
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
[remap]
|
||||
|
||||
importer="oggvorbisstr"
|
||||
type="AudioStreamOggVorbis"
|
||||
uid="uid://omc82yw76oug"
|
||||
path="res://.godot/imported/10195_venusaur-gmax.ogg-cb3b71681e896ddaac026a4b6caa57bb.oggvorbisstr"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://data/pokeapi/cries/10195_venusaur-gmax.ogg"
|
||||
dest_files=["res://.godot/imported/10195_venusaur-gmax.ogg-cb3b71681e896ddaac026a4b6caa57bb.oggvorbisstr"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
||||
39
data/pokeapi/evolution/1.tres
Normal file
39
data/pokeapi/evolution/1.tres
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
[gd_resource type="Resource" script_class="EvolutionNode" format=3 uid="uid://do7jebvetd8cb"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://bcfihr0vig1sm" path="res://addons/pokeapi_importer/data/evolution_edge.gd" id="1_s7vwr"]
|
||||
[ext_resource type="Script" uid="uid://81p3aw271qyx" path="res://addons/pokeapi_importer/data/evolution_condition.gd" id="2_4e68g"]
|
||||
[ext_resource type="Script" uid="uid://b364h4i46hwo1" path="res://addons/pokeapi_importer/data/evolution_node.gd" id="3_xb525"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_c8x75"]
|
||||
script = ExtResource("2_4e68g")
|
||||
trigger = "level-up"
|
||||
min_level = 16
|
||||
|
||||
[sub_resource type="Resource" id="Resource_nlw71"]
|
||||
script = ExtResource("2_4e68g")
|
||||
trigger = "level-up"
|
||||
min_level = 32
|
||||
|
||||
[sub_resource type="Resource" id="Resource_qogyd"]
|
||||
script = ExtResource("3_xb525")
|
||||
species_name = "venusaur"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_5a814"]
|
||||
script = ExtResource("1_s7vwr")
|
||||
target = SubResource("Resource_qogyd")
|
||||
conditions = Array[ExtResource("2_4e68g")]([SubResource("Resource_nlw71")])
|
||||
|
||||
[sub_resource type="Resource" id="Resource_bmsyw"]
|
||||
script = ExtResource("3_xb525")
|
||||
species_name = "ivysaur"
|
||||
evolves_to = Array[ExtResource("1_s7vwr")]([SubResource("Resource_5a814")])
|
||||
|
||||
[sub_resource type="Resource" id="Resource_o4mni"]
|
||||
script = ExtResource("1_s7vwr")
|
||||
target = SubResource("Resource_bmsyw")
|
||||
conditions = Array[ExtResource("2_4e68g")]([SubResource("Resource_c8x75")])
|
||||
|
||||
[resource]
|
||||
script = ExtResource("3_xb525")
|
||||
species_name = "bulbasaur"
|
||||
evolves_to = Array[ExtResource("1_s7vwr")]([SubResource("Resource_o4mni")])
|
||||
1190
data/pokeapi/pokemon/0003_venusaur.tres
Normal file
1190
data/pokeapi/pokemon/0003_venusaur.tres
Normal file
File diff suppressed because it is too large
Load diff
591
data/pokeapi/pokemon/10033_venusaur-mega.tres
Normal file
591
data/pokeapi/pokemon/10033_venusaur-mega.tres
Normal file
|
|
@ -0,0 +1,591 @@
|
|||
[gd_resource type="Resource" script_class="PokemonData" format=3 uid="uid://dnojhau21w5bd"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cpejtpjkcrvfy" path="res://addons/pokeapi_importer/data/pokemon_ability.gd" id="1_c1xmq"]
|
||||
[ext_resource type="Resource" uid="uid://cru4svckj5xpc" path="res://data/pokeapi/abilities/thick-fat.tres" id="2_78sgd"]
|
||||
[ext_resource type="Script" uid="uid://bcfihr0vig1sm" path="res://addons/pokeapi_importer/data/evolution_edge.gd" id="3_ijrr7"]
|
||||
[ext_resource type="Script" uid="uid://81p3aw271qyx" path="res://addons/pokeapi_importer/data/evolution_condition.gd" id="4_i0oaq"]
|
||||
[ext_resource type="Script" uid="uid://b364h4i46hwo1" path="res://addons/pokeapi_importer/data/evolution_node.gd" id="5_3eomd"]
|
||||
[ext_resource type="Script" uid="uid://fmgdjhptqo0d" path="res://addons/pokeapi_importer/data/pokemon_form.gd" id="6_cq6nj"]
|
||||
[ext_resource type="Script" uid="uid://dxpd7ihc8eew5" path="res://addons/pokeapi_importer/data/learned_move.gd" id="7_2mvfb"]
|
||||
[ext_resource type="Resource" uid="uid://ctfy1276ltl51" path="res://data/pokeapi/moves/seed-bomb.tres" id="8_c25k3"]
|
||||
[ext_resource type="Resource" uid="uid://cleqeq57htu1t" path="res://data/pokeapi/moves/poison-jab.tres" id="9_hkxfg"]
|
||||
[ext_resource type="Resource" uid="uid://cuyrd0yc8oeug" path="res://data/pokeapi/moves/worry-seed.tres" id="10_78j6o"]
|
||||
[ext_resource type="Resource" uid="uid://ctbij6a85pk1n" path="res://data/pokeapi/moves/frenzy-plant.tres" id="11_5gfct"]
|
||||
[ext_resource type="Resource" uid="uid://cgiw8hrvruw6i" path="res://data/pokeapi/moves/block.tres" id="12_25hdl"]
|
||||
[ext_resource type="Resource" uid="uid://7xf7ewhe7osg" path="res://data/pokeapi/moves/bullet-seed.tres" id="13_grmg5"]
|
||||
[ext_resource type="Resource" uid="uid://jc1xlfl7b51f" path="res://data/pokeapi/moves/weather-ball.tres" id="14_qs857"]
|
||||
[ext_resource type="Resource" uid="uid://b8wa247rquhrd" path="res://data/pokeapi/moves/secret-power.tres" id="15_jvfae"]
|
||||
[ext_resource type="Resource" uid="uid://bp00f6ei6s4p8" path="res://data/pokeapi/moves/knock-off.tres" id="16_x47w8"]
|
||||
[ext_resource type="Resource" uid="uid://bxywa7oko4rs5" path="res://data/pokeapi/moves/ingrain.tres" id="17_lggim"]
|
||||
[ext_resource type="Resource" uid="uid://dm28ycjmj3e5o" path="res://data/pokeapi/moves/helping-hand.tres" id="18_jspyn"]
|
||||
[ext_resource type="Resource" uid="uid://cjn37m65bipng" path="res://data/pokeapi/moves/nature-power.tres" id="19_yyc7n"]
|
||||
[ext_resource type="Resource" uid="uid://cgqalxobpomac" path="res://data/pokeapi/moves/facade.tres" id="20_oehbk"]
|
||||
[ext_resource type="Resource" uid="uid://doquo2kfba6p3" path="res://data/pokeapi/moves/rock-smash.tres" id="21_gky6c"]
|
||||
[ext_resource type="Resource" uid="uid://dm0007udwanaq" path="res://data/pokeapi/moves/sunny-day.tres" id="22_k4vlv"]
|
||||
[ext_resource type="Resource" uid="uid://dpenwas6ucryt" path="res://data/pokeapi/moves/hidden-power.tres" id="23_rmc4j"]
|
||||
[ext_resource type="Resource" uid="uid://chk8v6el6c03p" path="res://data/pokeapi/moves/synthesis.tres" id="24_4400g"]
|
||||
[ext_resource type="Resource" uid="uid://deog7g4ud572n" path="res://data/pokeapi/moves/sweet-scent.tres" id="25_hiqqh"]
|
||||
[ext_resource type="Resource" uid="uid://du6h1xt524lko" path="res://data/pokeapi/moves/safeguard.tres" id="26_r47ei"]
|
||||
[ext_resource type="Resource" uid="uid://cy5fxe0pjno15" path="res://data/pokeapi/moves/frustration.tres" id="27_gop80"]
|
||||
[ext_resource type="Resource" uid="uid://c8ckk7mtvj48f" path="res://data/pokeapi/moves/return.tres" id="28_wqveh"]
|
||||
[ext_resource type="Resource" uid="uid://cf40e7c31hp8e" path="res://data/pokeapi/moves/trailblaze.tres" id="29_aaf87"]
|
||||
[ext_resource type="Resource" uid="uid://cfdvl3u26etjq" path="res://data/pokeapi/moves/terrain-pulse.tres" id="30_m4cjd"]
|
||||
[ext_resource type="Resource" uid="uid://cploo0ewbamr8" path="res://data/pokeapi/moves/grassy-glide.tres" id="31_3du0w"]
|
||||
[ext_resource type="Resource" uid="uid://bub04oxlhsx00" path="res://data/pokeapi/moves/stomping-tantrum.tres" id="32_anlur"]
|
||||
[ext_resource type="Resource" uid="uid://xbxksihrkcjn" path="res://data/pokeapi/moves/confide.tres" id="33_pyu1q"]
|
||||
[ext_resource type="Resource" uid="uid://csf8b80ikqys1" path="res://data/pokeapi/moves/grassy-terrain.tres" id="34_eds1k"]
|
||||
[ext_resource type="Resource" uid="uid://4tnpm85ppb1d" path="res://data/pokeapi/moves/petal-blizzard.tres" id="35_a1mt8"]
|
||||
[ext_resource type="Resource" uid="uid://cj45kp80b41nu" path="res://data/pokeapi/moves/work-up.tres" id="36_bn6pt"]
|
||||
[ext_resource type="Resource" uid="uid://573gil8qpabf" path="res://data/pokeapi/moves/bulldoze.tres" id="37_2c6se"]
|
||||
[ext_resource type="Resource" uid="uid://dnmdlt2smglcf" path="res://data/pokeapi/moves/grass-pledge.tres" id="38_sy5hm"]
|
||||
[ext_resource type="Resource" uid="uid://bjcpqowj1rixy" path="res://data/pokeapi/moves/echoed-voice.tres" id="39_4n7jc"]
|
||||
[ext_resource type="Resource" uid="uid://vpopj282g1gm" path="res://data/pokeapi/moves/round.tres" id="40_msli6"]
|
||||
[ext_resource type="Resource" uid="uid://rfb7c6rkvtfa" path="res://data/pokeapi/moves/acid-spray.tres" id="41_s2edr"]
|
||||
[ext_resource type="Resource" uid="uid://bcg2vtrddxrwb" path="res://data/pokeapi/moves/sludge-wave.tres" id="42_djxvw"]
|
||||
[ext_resource type="Resource" uid="uid://cidnvolfop4r" path="res://data/pokeapi/moves/venoshock.tres" id="43_1huo7"]
|
||||
[ext_resource type="Resource" uid="uid://bs3fkh4ilussn" path="res://data/pokeapi/moves/grass-knot.tres" id="44_rmx7q"]
|
||||
[ext_resource type="Resource" uid="uid://cn1321iciwnhr" path="res://data/pokeapi/moves/power-whip.tres" id="45_nv575"]
|
||||
[ext_resource type="Resource" uid="uid://djwedxd5evoq8" path="res://data/pokeapi/moves/leaf-storm.tres" id="46_vw00w"]
|
||||
[ext_resource type="Resource" uid="uid://bebrkj5urox72" path="res://data/pokeapi/moves/giga-impact.tres" id="47_hk0n7"]
|
||||
[ext_resource type="Resource" uid="uid://lwgwoj5uc77y" path="res://data/pokeapi/moves/earth-power.tres" id="48_hu5jy"]
|
||||
[ext_resource type="Resource" uid="uid://b2qjwcep4v6g7" path="res://data/pokeapi/moves/energy-ball.tres" id="49_7tnlo"]
|
||||
[ext_resource type="Resource" uid="uid://naew6l5ud1f" path="res://data/pokeapi/moves/toxic.tres" id="50_kkm3u"]
|
||||
[ext_resource type="Resource" uid="uid://cwggxqu074deh" path="res://data/pokeapi/moves/earthquake.tres" id="51_177q1"]
|
||||
[ext_resource type="Resource" uid="uid://bjqen1whogh1d" path="res://data/pokeapi/moves/petal-dance.tres" id="52_a0pn6"]
|
||||
[ext_resource type="Resource" uid="uid://ugrxjcurnihw" path="res://data/pokeapi/moves/sleep-powder.tres" id="53_hvlo5"]
|
||||
[ext_resource type="Resource" uid="uid://ohuqgjew44fr" path="res://data/pokeapi/moves/poison-powder.tres" id="54_rwsb0"]
|
||||
[ext_resource type="Resource" uid="uid://bt0o5u1pbwrxu" path="res://data/pokeapi/moves/solar-beam.tres" id="55_gsefh"]
|
||||
[ext_resource type="Resource" uid="uid://cjvqhj2q75l1n" path="res://data/pokeapi/moves/growth.tres" id="56_c7sqp"]
|
||||
[ext_resource type="Resource" uid="uid://bpppf61ykiinv" path="res://data/pokeapi/moves/leech-seed.tres" id="57_rif3f"]
|
||||
[ext_resource type="Resource" uid="uid://b7flbp6mpl1w1" path="res://data/pokeapi/moves/mega-drain.tres" id="58_5h5r1"]
|
||||
[ext_resource type="Resource" uid="uid://bwto83a00ff0b" path="res://data/pokeapi/moves/strength.tres" id="59_y0lgk"]
|
||||
[ext_resource type="Resource" uid="uid://davhe5r4uecql" path="res://data/pokeapi/moves/hyper-beam.tres" id="60_ovyr0"]
|
||||
[ext_resource type="Resource" uid="uid://dkj8vehv6l14t" path="res://data/pokeapi/moves/roar.tres" id="61_32fed"]
|
||||
[ext_resource type="Resource" uid="uid://cb1mf0ckx7b1h" path="res://data/pokeapi/moves/double-edge.tres" id="62_cwmyh"]
|
||||
[ext_resource type="Resource" uid="uid://8yyxu8knsfbm" path="res://data/pokeapi/moves/body-slam.tres" id="63_u77yc"]
|
||||
[ext_resource type="Resource" uid="uid://dv2f20drfg17s" path="res://data/pokeapi/moves/headbutt.tres" id="64_s5yc1"]
|
||||
[ext_resource type="Resource" uid="uid://bt5uh03dntxsn" path="res://data/pokeapi/moves/bind.tres" id="65_osdru"]
|
||||
[ext_resource type="Resource" uid="uid://5oot8j3sxl7a" path="res://data/pokeapi/moves/cut.tres" id="66_o2fh4"]
|
||||
[ext_resource type="Resource" uid="uid://ck2g64kskv1an" path="res://data/pokeapi/moves/swords-dance.tres" id="67_0w7mj"]
|
||||
[ext_resource type="Resource" uid="uid://bgfgvvbpry0vd" path="res://data/pokeapi/moves/sleep-talk.tres" id="68_tpb2b"]
|
||||
[ext_resource type="Resource" uid="uid://dltc10wjdhhld" path="res://data/pokeapi/moves/attract.tres" id="69_58yrq"]
|
||||
[ext_resource type="Resource" uid="uid://ba4g48w8bqe8q" path="res://data/pokeapi/moves/swagger.tres" id="70_rc4st"]
|
||||
[ext_resource type="Resource" uid="uid://cjhd07v8kbv1v" path="res://data/pokeapi/moves/charm.tres" id="71_s2khm"]
|
||||
[ext_resource type="Resource" uid="uid://bm43df4x55c6r" path="res://data/pokeapi/moves/endure.tres" id="72_bca5u"]
|
||||
[ext_resource type="Resource" uid="uid://b6xom7dnm2538" path="res://data/pokeapi/moves/giga-drain.tres" id="73_gk2s0"]
|
||||
[ext_resource type="Resource" uid="uid://doat7fskpkrvs" path="res://data/pokeapi/moves/outrage.tres" id="74_tuqan"]
|
||||
[ext_resource type="Resource" uid="uid://2mwwcmj4m0w4" path="res://data/pokeapi/moves/sludge-bomb.tres" id="75_bsvyb"]
|
||||
[ext_resource type="Resource" uid="uid://dncsf3kw16qsp" path="res://data/pokeapi/moves/scary-face.tres" id="76_6glkh"]
|
||||
[ext_resource type="Resource" uid="uid://dktw6ewuu44qu" path="res://data/pokeapi/moves/protect.tres" id="77_2d8iw"]
|
||||
[ext_resource type="Resource" uid="uid://bxnk846o6jcg4" path="res://data/pokeapi/moves/curse.tres" id="78_0f20x"]
|
||||
[ext_resource type="Resource" uid="uid://dg7afm3yoep6e" path="res://data/pokeapi/moves/snore.tres" id="79_53rd8"]
|
||||
[ext_resource type="Resource" uid="uid://djjl37qgyc2vd" path="res://data/pokeapi/moves/substitute.tres" id="80_y33ux"]
|
||||
[ext_resource type="Resource" uid="uid://dxhav6cowphxh" path="res://data/pokeapi/moves/rest.tres" id="81_vj1uc"]
|
||||
[ext_resource type="Resource" uid="uid://bsknvckemeq0t" path="res://data/pokeapi/moves/flash.tres" id="82_cpglo"]
|
||||
[ext_resource type="Resource" uid="uid://c8d6lbrrbeslt" path="res://data/pokeapi/moves/amnesia.tres" id="83_hae3j"]
|
||||
[ext_resource type="Resource" uid="uid://dc1lkwjcwajk1" path="res://data/pokeapi/moves/reflect.tres" id="84_pfie0"]
|
||||
[ext_resource type="Resource" uid="uid://duk4vgcg1ditm" path="res://data/pokeapi/moves/light-screen.tres" id="85_7pfpe"]
|
||||
[ext_resource type="Resource" uid="uid://dwwyu3s566d3k" path="res://data/pokeapi/moves/double-team.tres" id="86_tr6ti"]
|
||||
[ext_resource type="Resource" uid="uid://cy3clsvbuqi3h" path="res://data/pokeapi/moves/growl.tres" id="87_nuvmp"]
|
||||
[ext_resource type="Resource" uid="uid://bcxgovjltjt63" path="res://data/pokeapi/moves/tackle.tres" id="88_ji4va"]
|
||||
[ext_resource type="Resource" uid="uid://drqhkk7q5d7jr" path="res://data/pokeapi/moves/vine-whip.tres" id="89_l8e70"]
|
||||
[ext_resource type="Resource" uid="uid://vsxyib4kt382" path="res://data/pokeapi/moves/take-down.tres" id="90_rxm03"]
|
||||
[ext_resource type="Resource" uid="uid://b31j1tpegk2jb" path="res://data/pokeapi/moves/razor-leaf.tres" id="91_ksb07"]
|
||||
[ext_resource type="Texture2D" uid="uid://cs7drpafhlnqm" path="res://data/pokeapi/sprites/10033_venusaur-mega.png" id="92_730lx"]
|
||||
[ext_resource type="Script" uid="uid://cwmxfian0pdjk" path="res://addons/pokeapi_importer/data/pokemon_data.gd" id="93_1ujyj"]
|
||||
[ext_resource type="Texture2D" uid="uid://bv3ygad4ptmxq" path="res://data/pokeapi/sprites/10033_venusaur-mega_shiny.png" id="94_f8s0m"]
|
||||
[ext_resource type="Script" uid="uid://cvvmd5x42xk8n" path="res://addons/pokeapi_importer/data/type_data.gd" id="95_5pw3e"]
|
||||
[ext_resource type="Resource" uid="uid://b5innmgrb00rn" path="res://data/pokeapi/types/grass.tres" id="96_roigw"]
|
||||
[ext_resource type="Resource" uid="uid://qxfeuyf5roo" path="res://data/pokeapi/types/poison.tres" id="97_mavnd"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_c71sm"]
|
||||
script = ExtResource("1_c1xmq")
|
||||
ability = ExtResource("2_78sgd")
|
||||
|
||||
[sub_resource type="Resource" id="Resource_c8x75"]
|
||||
script = ExtResource("4_i0oaq")
|
||||
trigger = "level-up"
|
||||
min_level = 16
|
||||
|
||||
[sub_resource type="Resource" id="Resource_nlw71"]
|
||||
script = ExtResource("4_i0oaq")
|
||||
trigger = "level-up"
|
||||
min_level = 32
|
||||
|
||||
[sub_resource type="Resource" id="Resource_qogyd"]
|
||||
script = ExtResource("5_3eomd")
|
||||
species_name = "venusaur"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_5a814"]
|
||||
script = ExtResource("3_ijrr7")
|
||||
target = SubResource("Resource_qogyd")
|
||||
conditions = Array[ExtResource("4_i0oaq")]([SubResource("Resource_nlw71")])
|
||||
|
||||
[sub_resource type="Resource" id="Resource_bmsyw"]
|
||||
script = ExtResource("5_3eomd")
|
||||
species_name = "ivysaur"
|
||||
evolves_to = Array[ExtResource("3_ijrr7")]([SubResource("Resource_5a814")])
|
||||
|
||||
[sub_resource type="Resource" id="Resource_o4mni"]
|
||||
script = ExtResource("3_ijrr7")
|
||||
target = SubResource("Resource_bmsyw")
|
||||
conditions = Array[ExtResource("4_i0oaq")]([SubResource("Resource_c8x75")])
|
||||
|
||||
[sub_resource type="Resource" id="Resource_81m1y"]
|
||||
script = ExtResource("5_3eomd")
|
||||
species_name = "bulbasaur"
|
||||
evolves_to = Array[ExtResource("3_ijrr7")]([SubResource("Resource_o4mni")])
|
||||
|
||||
[sub_resource type="Resource" id="Resource_283t3"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("8_c25k3")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_rk3tl"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("9_hkxfg")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_777lq"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("10_78j6o")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_xcun5"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("11_5gfct")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_3rrhv"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("12_25hdl")
|
||||
method = "tutor"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_r8e40"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("13_grmg5")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_rotks"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("14_qs857")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_nj0vp"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("15_jvfae")
|
||||
method = "machine"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_ftieh"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("16_x47w8")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_mxjb2"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("17_lggim")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_ltax6"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("18_jspyn")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_4sg73"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("19_yyc7n")
|
||||
method = "machine"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_xo7df"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("20_oehbk")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_fm1w1"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("21_gky6c")
|
||||
method = "machine"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_4bpg4"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("22_k4vlv")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_cbvem"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("23_rmc4j")
|
||||
method = "machine"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_dpt3l"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("24_4400g")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_3l8m1"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("25_hiqqh")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_r3wbg"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("26_r47ei")
|
||||
method = "machine"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_1yhlo"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("27_gop80")
|
||||
method = "machine"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_8rcjk"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("28_wqveh")
|
||||
method = "machine"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_7eatg"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("29_aaf87")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_o36mi"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("30_m4cjd")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_k4e4p"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("31_3du0w")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_kiqmp"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("32_anlur")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_nsejl"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("33_pyu1q")
|
||||
method = "machine"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_rbi63"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("34_eds1k")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_rai0h"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("35_a1mt8")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_qu4en"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("36_bn6pt")
|
||||
method = "machine"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_50ye6"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("37_2c6se")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_8k8cu"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("38_sy5hm")
|
||||
method = "tutor"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_v5sa1"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("39_4n7jc")
|
||||
method = "machine"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_urlc8"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("40_msli6")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_hrsce"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("41_s2edr")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_w6pmf"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("42_djxvw")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_kiipx"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("43_1huo7")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_5fefd"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("44_rmx7q")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_ywv12"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("45_nv575")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_psr21"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("46_vw00w")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_ft73j"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("47_hk0n7")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_3lxi1"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("48_hu5jy")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_4avk3"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("49_7tnlo")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_qqpmw"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("50_kkm3u")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_ukr88"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("51_177q1")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_185h4"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("52_a0pn6")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_o05p8"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("53_hvlo5")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_is4k6"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("54_rwsb0")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_yvn34"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("55_gsefh")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_sucy1"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("56_c7sqp")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_upv3w"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("57_rif3f")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_kvu4w"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("58_5h5r1")
|
||||
method = "machine"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_rdnep"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("59_y0lgk")
|
||||
method = "machine"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_y4g4g"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("60_ovyr0")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_m0651"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("61_32fed")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_yt6xg"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("62_cwmyh")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_n5wpe"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("63_u77yc")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_mnril"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("64_s5yc1")
|
||||
method = "machine"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_x1iak"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("65_osdru")
|
||||
method = "tutor"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_weu1s"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("66_o2fh4")
|
||||
method = "machine"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_24663"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("67_0w7mj")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_30yst"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("68_tpb2b")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_07b2d"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("69_58yrq")
|
||||
method = "machine"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_0m58k"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("70_rc4st")
|
||||
method = "machine"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_k5yp7"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("71_s2khm")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_jixho"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("72_bca5u")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_bcnnu"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("73_gk2s0")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_iwbuc"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("74_tuqan")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_0anyt"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("75_bsvyb")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_kgqk5"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("76_6glkh")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_ynucx"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("77_2d8iw")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_glb4i"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("78_0f20x")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_tui4y"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("79_53rd8")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_4hvii"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("80_y33ux")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_vihns"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("81_vj1uc")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_jumhn"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("82_cpglo")
|
||||
method = "machine"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_1l6ut"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("83_hae3j")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_ojlp4"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("84_pfie0")
|
||||
method = "machine"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_3befy"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("85_7pfpe")
|
||||
method = "train"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_xyny6"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("86_tr6ti")
|
||||
method = "machine"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_fdfif"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("87_nuvmp")
|
||||
level = 1
|
||||
method = "level-up"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_gbm55"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("88_ji4va")
|
||||
level = 1
|
||||
method = "level-up"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_l2yhd"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("89_l8e70")
|
||||
level = 5
|
||||
method = "level-up"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_e5wbg"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("90_rxm03")
|
||||
level = 22
|
||||
method = "level-up"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_e3ecr"]
|
||||
script = ExtResource("7_2mvfb")
|
||||
move = ExtResource("91_ksb07")
|
||||
level = 31
|
||||
method = "level-up"
|
||||
|
||||
[resource]
|
||||
script = ExtResource("93_1ujyj")
|
||||
id = 10033
|
||||
api_name = "venusaur-mega"
|
||||
names = {
|
||||
"en": "Venusaur",
|
||||
"fr": "Florizarre"
|
||||
}
|
||||
descriptions = {
|
||||
"en": "A bewitching aroma wafts from its flower. The fragrance becalms those engaged in a battle.",
|
||||
"fr": "Une douce senteur émane de sa plante. Cette fragrance calme tous ceux qui sont engagés dans un combat."
|
||||
}
|
||||
types = Array[ExtResource("95_5pw3e")]([ExtResource("96_roigw"), ExtResource("97_mavnd")])
|
||||
abilities = Array[ExtResource("1_c1xmq")]([SubResource("Resource_c71sm")])
|
||||
evolution_chain = SubResource("Resource_81m1y")
|
||||
base_stats = {
|
||||
"attack": 100.0,
|
||||
"defense": 123.0,
|
||||
"hp": 80.0,
|
||||
"special-attack": 122.0,
|
||||
"special-defense": 120.0,
|
||||
"speed": 80.0
|
||||
}
|
||||
height = 2.4
|
||||
weight = 155.5
|
||||
menu_sprite = ExtResource("92_730lx")
|
||||
shiny_menu_sprite = ExtResource("94_f8s0m")
|
||||
learnset = Array[ExtResource("7_2mvfb")]([SubResource("Resource_283t3"), SubResource("Resource_rk3tl"), SubResource("Resource_777lq"), SubResource("Resource_xcun5"), SubResource("Resource_3rrhv"), SubResource("Resource_r8e40"), SubResource("Resource_rotks"), SubResource("Resource_nj0vp"), SubResource("Resource_ftieh"), SubResource("Resource_mxjb2"), SubResource("Resource_ltax6"), SubResource("Resource_4sg73"), SubResource("Resource_xo7df"), SubResource("Resource_fm1w1"), SubResource("Resource_4bpg4"), SubResource("Resource_cbvem"), SubResource("Resource_dpt3l"), SubResource("Resource_3l8m1"), SubResource("Resource_r3wbg"), SubResource("Resource_1yhlo"), SubResource("Resource_8rcjk"), SubResource("Resource_7eatg"), SubResource("Resource_o36mi"), SubResource("Resource_k4e4p"), SubResource("Resource_kiqmp"), SubResource("Resource_nsejl"), SubResource("Resource_rbi63"), SubResource("Resource_rai0h"), SubResource("Resource_qu4en"), SubResource("Resource_50ye6"), SubResource("Resource_8k8cu"), SubResource("Resource_v5sa1"), SubResource("Resource_urlc8"), SubResource("Resource_hrsce"), SubResource("Resource_w6pmf"), SubResource("Resource_kiipx"), SubResource("Resource_5fefd"), SubResource("Resource_ywv12"), SubResource("Resource_psr21"), SubResource("Resource_ft73j"), SubResource("Resource_3lxi1"), SubResource("Resource_4avk3"), SubResource("Resource_qqpmw"), SubResource("Resource_ukr88"), SubResource("Resource_185h4"), SubResource("Resource_o05p8"), SubResource("Resource_is4k6"), SubResource("Resource_yvn34"), SubResource("Resource_sucy1"), SubResource("Resource_upv3w"), SubResource("Resource_kvu4w"), SubResource("Resource_rdnep"), SubResource("Resource_y4g4g"), SubResource("Resource_m0651"), SubResource("Resource_yt6xg"), SubResource("Resource_n5wpe"), SubResource("Resource_mnril"), SubResource("Resource_x1iak"), SubResource("Resource_weu1s"), SubResource("Resource_24663"), SubResource("Resource_30yst"), SubResource("Resource_07b2d"), SubResource("Resource_0m58k"), SubResource("Resource_k5yp7"), SubResource("Resource_jixho"), SubResource("Resource_bcnnu"), SubResource("Resource_iwbuc"), SubResource("Resource_0anyt"), SubResource("Resource_kgqk5"), SubResource("Resource_ynucx"), SubResource("Resource_glb4i"), SubResource("Resource_tui4y"), SubResource("Resource_4hvii"), SubResource("Resource_vihns"), SubResource("Resource_jumhn"), SubResource("Resource_1l6ut"), SubResource("Resource_ojlp4"), SubResource("Resource_3befy"), SubResource("Resource_xyny6"), SubResource("Resource_fdfif"), SubResource("Resource_gbm55"), SubResource("Resource_l2yhd"), SubResource("Resource_e5wbg"), SubResource("Resource_e3ecr")])
|
||||
89
data/pokeapi/pokemon/10195_venusaur-gmax.tres
Normal file
89
data/pokeapi/pokemon/10195_venusaur-gmax.tres
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
[gd_resource type="Resource" script_class="PokemonData" format=3 uid="uid://ch4nt3khsx40f"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://cpejtpjkcrvfy" path="res://addons/pokeapi_importer/data/pokemon_ability.gd" id="1_qs0qx"]
|
||||
[ext_resource type="Resource" uid="uid://caln4rr2f6f1p" path="res://data/pokeapi/abilities/overgrow.tres" id="2_ndtf0"]
|
||||
[ext_resource type="Resource" uid="uid://d07nwu46f1y5m" path="res://data/pokeapi/abilities/chlorophyll.tres" id="3_ls8p6"]
|
||||
[ext_resource type="AudioStream" uid="uid://omc82yw76oug" path="res://data/pokeapi/cries/10195_venusaur-gmax.ogg" id="4_cikjm"]
|
||||
[ext_resource type="Script" uid="uid://bcfihr0vig1sm" path="res://addons/pokeapi_importer/data/evolution_edge.gd" id="5_r1eli"]
|
||||
[ext_resource type="Script" uid="uid://81p3aw271qyx" path="res://addons/pokeapi_importer/data/evolution_condition.gd" id="6_6gbgm"]
|
||||
[ext_resource type="Script" uid="uid://b364h4i46hwo1" path="res://addons/pokeapi_importer/data/evolution_node.gd" id="7_2psrd"]
|
||||
[ext_resource type="Script" uid="uid://fmgdjhptqo0d" path="res://addons/pokeapi_importer/data/pokemon_form.gd" id="8_7gqfp"]
|
||||
[ext_resource type="Script" uid="uid://dxpd7ihc8eew5" path="res://addons/pokeapi_importer/data/learned_move.gd" id="9_thek8"]
|
||||
[ext_resource type="Texture2D" uid="uid://doq62lwf2m32q" path="res://data/pokeapi/sprites/10195_venusaur-gmax.png" id="10_syca0"]
|
||||
[ext_resource type="Script" uid="uid://cwmxfian0pdjk" path="res://addons/pokeapi_importer/data/pokemon_data.gd" id="11_fdwh0"]
|
||||
[ext_resource type="Texture2D" uid="uid://bl2df7xngjypa" path="res://data/pokeapi/sprites/10195_venusaur-gmax_shiny.png" id="12_uwmwt"]
|
||||
[ext_resource type="Script" uid="uid://cvvmd5x42xk8n" path="res://addons/pokeapi_importer/data/type_data.gd" id="13_d5mm5"]
|
||||
[ext_resource type="Resource" uid="uid://b5innmgrb00rn" path="res://data/pokeapi/types/grass.tres" id="14_4dnjk"]
|
||||
[ext_resource type="Resource" uid="uid://qxfeuyf5roo" path="res://data/pokeapi/types/poison.tres" id="15_1v4ge"]
|
||||
|
||||
[sub_resource type="Resource" id="Resource_07mtb"]
|
||||
script = ExtResource("1_qs0qx")
|
||||
ability = ExtResource("2_ndtf0")
|
||||
|
||||
[sub_resource type="Resource" id="Resource_leq0w"]
|
||||
script = ExtResource("1_qs0qx")
|
||||
ability = ExtResource("3_ls8p6")
|
||||
is_hidden = true
|
||||
|
||||
[sub_resource type="Resource" id="Resource_c8x75"]
|
||||
script = ExtResource("6_6gbgm")
|
||||
trigger = "level-up"
|
||||
min_level = 16
|
||||
|
||||
[sub_resource type="Resource" id="Resource_nlw71"]
|
||||
script = ExtResource("6_6gbgm")
|
||||
trigger = "level-up"
|
||||
min_level = 32
|
||||
|
||||
[sub_resource type="Resource" id="Resource_qogyd"]
|
||||
script = ExtResource("7_2psrd")
|
||||
species_name = "venusaur"
|
||||
|
||||
[sub_resource type="Resource" id="Resource_5a814"]
|
||||
script = ExtResource("5_r1eli")
|
||||
target = SubResource("Resource_qogyd")
|
||||
conditions = Array[ExtResource("6_6gbgm")]([SubResource("Resource_nlw71")])
|
||||
|
||||
[sub_resource type="Resource" id="Resource_bmsyw"]
|
||||
script = ExtResource("7_2psrd")
|
||||
species_name = "ivysaur"
|
||||
evolves_to = Array[ExtResource("5_r1eli")]([SubResource("Resource_5a814")])
|
||||
|
||||
[sub_resource type="Resource" id="Resource_o4mni"]
|
||||
script = ExtResource("5_r1eli")
|
||||
target = SubResource("Resource_bmsyw")
|
||||
conditions = Array[ExtResource("6_6gbgm")]([SubResource("Resource_c8x75")])
|
||||
|
||||
[sub_resource type="Resource" id="Resource_81m1y"]
|
||||
script = ExtResource("7_2psrd")
|
||||
species_name = "bulbasaur"
|
||||
evolves_to = Array[ExtResource("5_r1eli")]([SubResource("Resource_o4mni")])
|
||||
|
||||
[resource]
|
||||
script = ExtResource("11_fdwh0")
|
||||
id = 10195
|
||||
api_name = "venusaur-gmax"
|
||||
names = {
|
||||
"en": "Venusaur",
|
||||
"fr": "Florizarre"
|
||||
}
|
||||
descriptions = {
|
||||
"en": "A bewitching aroma wafts from its flower. The fragrance becalms those engaged in a battle.",
|
||||
"fr": "Une douce senteur émane de sa plante. Cette fragrance calme tous ceux qui sont engagés dans un combat."
|
||||
}
|
||||
types = Array[ExtResource("13_d5mm5")]([ExtResource("14_4dnjk"), ExtResource("15_1v4ge")])
|
||||
abilities = Array[ExtResource("1_qs0qx")]([SubResource("Resource_07mtb"), SubResource("Resource_leq0w")])
|
||||
evolution_chain = SubResource("Resource_81m1y")
|
||||
base_stats = {
|
||||
"attack": 82.0,
|
||||
"defense": 83.0,
|
||||
"hp": 80.0,
|
||||
"special-attack": 100.0,
|
||||
"special-defense": 100.0,
|
||||
"speed": 80.0
|
||||
}
|
||||
height = 24.0
|
||||
weight = 1000.0
|
||||
menu_sprite = ExtResource("10_syca0")
|
||||
shiny_menu_sprite = ExtResource("12_uwmwt")
|
||||
cry_latest = ExtResource("4_cikjm")
|
||||
BIN
data/pokeapi/sprites/0003_venusaur.png
Normal file
BIN
data/pokeapi/sprites/0003_venusaur.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 182 KiB |
40
data/pokeapi/sprites/0003_venusaur.png.import
Normal file
40
data/pokeapi/sprites/0003_venusaur.png.import
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bn7a8nehayplp"
|
||||
path="res://.godot/imported/0003_venusaur.png-fc40445426176d12d8795497e9a3458d.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://data/pokeapi/sprites/0003_venusaur.png"
|
||||
dest_files=["res://.godot/imported/0003_venusaur.png-fc40445426176d12d8795497e9a3458d.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
data/pokeapi/sprites/0003_venusaur_shiny.png
Normal file
BIN
data/pokeapi/sprites/0003_venusaur_shiny.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 201 KiB |
40
data/pokeapi/sprites/0003_venusaur_shiny.png.import
Normal file
40
data/pokeapi/sprites/0003_venusaur_shiny.png.import
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://c8chtutqpudsn"
|
||||
path="res://.godot/imported/0003_venusaur_shiny.png-fc8e92debea3a35c2026c627176c380f.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://data/pokeapi/sprites/0003_venusaur_shiny.png"
|
||||
dest_files=["res://.godot/imported/0003_venusaur_shiny.png-fc8e92debea3a35c2026c627176c380f.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
data/pokeapi/sprites/10033_venusaur-mega.png
Normal file
BIN
data/pokeapi/sprites/10033_venusaur-mega.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 186 KiB |
40
data/pokeapi/sprites/10033_venusaur-mega.png.import
Normal file
40
data/pokeapi/sprites/10033_venusaur-mega.png.import
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://cs7drpafhlnqm"
|
||||
path="res://.godot/imported/10033_venusaur-mega.png-8cd2ada7297bf63ff06365755ffef1c5.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://data/pokeapi/sprites/10033_venusaur-mega.png"
|
||||
dest_files=["res://.godot/imported/10033_venusaur-mega.png-8cd2ada7297bf63ff06365755ffef1c5.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
data/pokeapi/sprites/10033_venusaur-mega_shiny.png
Normal file
BIN
data/pokeapi/sprites/10033_venusaur-mega_shiny.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 209 KiB |
40
data/pokeapi/sprites/10033_venusaur-mega_shiny.png.import
Normal file
40
data/pokeapi/sprites/10033_venusaur-mega_shiny.png.import
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bv3ygad4ptmxq"
|
||||
path="res://.godot/imported/10033_venusaur-mega_shiny.png-9dab647a152995448ccda0b7e8f34221.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://data/pokeapi/sprites/10033_venusaur-mega_shiny.png"
|
||||
dest_files=["res://.godot/imported/10033_venusaur-mega_shiny.png-9dab647a152995448ccda0b7e8f34221.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
data/pokeapi/sprites/10195_venusaur-gmax.png
Normal file
BIN
data/pokeapi/sprites/10195_venusaur-gmax.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 150 KiB |
40
data/pokeapi/sprites/10195_venusaur-gmax.png.import
Normal file
40
data/pokeapi/sprites/10195_venusaur-gmax.png.import
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://doq62lwf2m32q"
|
||||
path="res://.godot/imported/10195_venusaur-gmax.png-6ddb95d62e10fbb721b65bc1c6f92629.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://data/pokeapi/sprites/10195_venusaur-gmax.png"
|
||||
dest_files=["res://.godot/imported/10195_venusaur-gmax.png-6ddb95d62e10fbb721b65bc1c6f92629.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
BIN
data/pokeapi/sprites/10195_venusaur-gmax_shiny.png
Normal file
BIN
data/pokeapi/sprites/10195_venusaur-gmax_shiny.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 165 KiB |
40
data/pokeapi/sprites/10195_venusaur-gmax_shiny.png.import
Normal file
40
data/pokeapi/sprites/10195_venusaur-gmax_shiny.png.import
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bl2df7xngjypa"
|
||||
path="res://.godot/imported/10195_venusaur-gmax_shiny.png-b369360296640099ac417646258a0db5.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://data/pokeapi/sprites/10195_venusaur-gmax_shiny.png"
|
||||
dest_files=["res://.godot/imported/10195_venusaur-gmax_shiny.png-b369360296640099ac417646258a0db5.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
222
game/debug/debug_pokemon_panel.gd
Normal file
222
game/debug/debug_pokemon_panel.gd
Normal file
|
|
@ -0,0 +1,222 @@
|
|||
extends CanvasLayer
|
||||
# Autoload : DebugPokemonPanel
|
||||
#panneau de test (build de debug uniquement) : liste des pokemon du Pokedex, un clic ajoute a l'equipe
|
||||
|
||||
const TOGGLE_ACTION : StringName = &"debug_pokemon_panel"
|
||||
const DEFAULT_LEVEL : int = 10
|
||||
|
||||
var _root : Control
|
||||
var _filter : LineEdit
|
||||
var _level_spin : SpinBox
|
||||
var _team_label : Label
|
||||
var _scroll : ScrollContainer
|
||||
var _list : VBoxContainer
|
||||
var _message : Label
|
||||
var _buttons : Array[Button] = []
|
||||
var _populated : bool = false
|
||||
var _was_paused : bool = false
|
||||
var _prev_mouse_mode : Input.MouseMode = Input.MOUSE_MODE_VISIBLE
|
||||
|
||||
func _ready() -> void:
|
||||
if !OS.is_debug_build():
|
||||
queue_free()
|
||||
return
|
||||
layer = 100
|
||||
process_mode = Node.PROCESS_MODE_ALWAYS #le panneau reste utilisable pendant que le jeu est en pause
|
||||
_setup_input()
|
||||
_build_ui()
|
||||
_root.visible = false
|
||||
|
||||
func _setup_input() -> void:
|
||||
if InputMap.has_action(TOGGLE_ACTION): return
|
||||
InputMap.add_action(TOGGLE_ACTION)
|
||||
var key := InputEventKey.new()
|
||||
key.physical_keycode = KEY_F3
|
||||
InputMap.action_add_event(TOGGLE_ACTION, key)
|
||||
var pad := InputEventJoypadButton.new()
|
||||
pad.button_index = JOY_BUTTON_BACK
|
||||
InputMap.action_add_event(TOGGLE_ACTION, pad)
|
||||
|
||||
func _unhandled_input(event : InputEvent) -> void:
|
||||
if _root == null: return
|
||||
if event.is_action_pressed(TOGGLE_ACTION):
|
||||
if _root.visible: _close()
|
||||
else: _open()
|
||||
get_viewport().set_input_as_handled()
|
||||
elif _root.visible and event.is_action_pressed(&"ui_cancel"):
|
||||
_close()
|
||||
get_viewport().set_input_as_handled()
|
||||
|
||||
#---------- ouverture / fermeture ----------
|
||||
|
||||
func _open() -> void:
|
||||
if !_populated: _populate()
|
||||
_was_paused = get_tree().paused
|
||||
_prev_mouse_mode = Input.mouse_mode
|
||||
get_tree().paused = true
|
||||
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
|
||||
_root.visible = true
|
||||
_message.text = ""
|
||||
_refresh_team()
|
||||
_focus_first.call_deferred()
|
||||
|
||||
func _close() -> void:
|
||||
_root.visible = false
|
||||
get_tree().paused = _was_paused
|
||||
Input.mouse_mode = _prev_mouse_mode
|
||||
|
||||
func _focus_first() -> void:
|
||||
for b in _buttons:
|
||||
if b.is_visible_in_tree():
|
||||
b.grab_focus()
|
||||
return
|
||||
|
||||
#---------- interface ----------
|
||||
|
||||
func _build_ui() -> void:
|
||||
_root = Control.new()
|
||||
_root.set_anchors_preset(Control.PRESET_FULL_RECT)
|
||||
add_child(_root)
|
||||
|
||||
var dim := ColorRect.new()
|
||||
dim.color = Color(0.0, 0.0, 0.0, 0.6)
|
||||
dim.set_anchors_preset(Control.PRESET_FULL_RECT)
|
||||
_root.add_child(dim)
|
||||
|
||||
var center := CenterContainer.new()
|
||||
center.set_anchors_preset(Control.PRESET_FULL_RECT)
|
||||
_root.add_child(center)
|
||||
|
||||
var panel := PanelContainer.new()
|
||||
panel.custom_minimum_size = Vector2(580, 640)
|
||||
center.add_child(panel)
|
||||
|
||||
var margin := MarginContainer.new()
|
||||
for side in ["left", "right", "top", "bottom"]:
|
||||
margin.add_theme_constant_override("margin_" + side, 16)
|
||||
panel.add_child(margin)
|
||||
|
||||
var box := VBoxContainer.new()
|
||||
box.add_theme_constant_override("separation", 8)
|
||||
margin.add_child(box)
|
||||
|
||||
var title := Label.new()
|
||||
title.text = "Debug : ajouter un Pokémon à l'équipe"
|
||||
title.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER
|
||||
box.add_child(title)
|
||||
|
||||
var level_row := HBoxContainer.new()
|
||||
box.add_child(level_row)
|
||||
var level_label := Label.new()
|
||||
level_label.text = "Niveau"
|
||||
level_row.add_child(level_label)
|
||||
_level_spin = SpinBox.new()
|
||||
_level_spin.min_value = 1
|
||||
_level_spin.max_value = PokemonInstance.MAX_LEVEL
|
||||
_level_spin.step = 1
|
||||
_level_spin.value = DEFAULT_LEVEL
|
||||
level_row.add_child(_level_spin)
|
||||
_filter = LineEdit.new()
|
||||
_filter.placeholder_text = "Rechercher (nom, type, id)..."
|
||||
_filter.clear_button_enabled = true
|
||||
_filter.size_flags_horizontal = Control.SIZE_EXPAND_FILL
|
||||
_filter.text_changed.connect(_on_filter_changed)
|
||||
level_row.add_child(_filter)
|
||||
|
||||
_team_label = Label.new()
|
||||
_team_label.autowrap_mode = TextServer.AUTOWRAP_WORD_SMART
|
||||
box.add_child(_team_label)
|
||||
|
||||
_scroll = ScrollContainer.new()
|
||||
_scroll.size_flags_vertical = Control.SIZE_EXPAND_FILL
|
||||
_scroll.horizontal_scroll_mode = ScrollContainer.SCROLL_MODE_DISABLED
|
||||
_scroll.follow_focus = true
|
||||
box.add_child(_scroll)
|
||||
|
||||
_list = VBoxContainer.new()
|
||||
_list.size_flags_horizontal = Control.SIZE_EXPAND_FILL
|
||||
_scroll.add_child(_list)
|
||||
|
||||
_message = Label.new()
|
||||
box.add_child(_message)
|
||||
|
||||
var actions := HBoxContainer.new()
|
||||
actions.add_theme_constant_override("separation", 8)
|
||||
box.add_child(actions)
|
||||
actions.add_child(_make_action_button("Soigner l'équipe", _on_heal_pressed))
|
||||
actions.add_child(_make_action_button("Vider l'équipe", _on_clear_pressed))
|
||||
actions.add_child(_make_action_button("Fermer", _close))
|
||||
|
||||
var hint := Label.new()
|
||||
hint.text = "F3 / Select : ouvrir-fermer | Échap / B : fermer"
|
||||
hint.modulate = Color(1.0, 1.0, 1.0, 0.5)
|
||||
hint.horizontal_alignment = HORIZONTAL_ALIGNMENT_CENTER
|
||||
box.add_child(hint)
|
||||
|
||||
func _make_action_button(label : String, callback : Callable) -> Button:
|
||||
var button := Button.new()
|
||||
button.text = label
|
||||
button.size_flags_horizontal = Control.SIZE_EXPAND_FILL
|
||||
button.pressed.connect(callback)
|
||||
return button
|
||||
|
||||
func _populate() -> void:
|
||||
_populated = true
|
||||
for id in Pokedex.all_ids():
|
||||
var data : PokemonData = Pokedex.get_pokemon(id)
|
||||
if data == null: continue
|
||||
|
||||
var types_text : String = ", ".join(data.types.filter(func(t : TypeData) -> bool: return t != null).map(func(t : TypeData) -> String: return t.get_display_name()))
|
||||
var button := Button.new()
|
||||
button.alignment = HORIZONTAL_ALIGNMENT_LEFT
|
||||
button.text = "#%d %s (%s)" % [data.id, data.get_display_name(), types_text]
|
||||
button.icon = data.menu_sprite
|
||||
button.expand_icon = true
|
||||
button.add_theme_constant_override("icon_max_width", 32)
|
||||
button.set_meta("search", ("%d %s %s %s" % [data.id, data.api_name, data.get_display_name(), types_text]).to_lower())
|
||||
button.pressed.connect(_on_pokemon_pressed.bind(data))
|
||||
_list.add_child(button)
|
||||
_buttons.append(button)
|
||||
|
||||
if _buttons.is_empty():
|
||||
_message.text = "Aucun Pokémon dans le Pokedex."
|
||||
|
||||
#---------- actions ----------
|
||||
|
||||
func _on_pokemon_pressed(data : PokemonData) -> void:
|
||||
var team : PokemonTeam = GameData.player_team
|
||||
if team.is_full():
|
||||
_message.text = "Équipe pleine (%d/%d)" % [team.size(), PokemonTeam.MAX_SIZE]
|
||||
return
|
||||
|
||||
var pokemon := PokemonInstance.create(data, int(_level_spin.value))
|
||||
GameData.give_pokemon(pokemon)
|
||||
_message.text = "%s Lv.%d ajouté (%d/%d)" % [pokemon.get_display_name(), pokemon.level, team.size(), PokemonTeam.MAX_SIZE]
|
||||
_refresh_team()
|
||||
|
||||
func _on_clear_pressed() -> void:
|
||||
var team : PokemonTeam = GameData.player_team
|
||||
while !team.is_empty():
|
||||
team.remove_at(team.size() - 1)
|
||||
GameData.validate_selection()
|
||||
_message.text = "Équipe vidée"
|
||||
_refresh_team()
|
||||
|
||||
func _on_heal_pressed() -> void:
|
||||
GameData.player_team.heal_all()
|
||||
_message.text = "Équipe soignée"
|
||||
|
||||
func _on_filter_changed(text : String) -> void:
|
||||
var needle : String = text.strip_edges().to_lower()
|
||||
for b in _buttons:
|
||||
b.visible = needle == "" or needle in String(b.get_meta("search"))
|
||||
|
||||
func _refresh_team() -> void:
|
||||
var team : PokemonTeam = GameData.player_team
|
||||
if team.is_empty():
|
||||
_team_label.text = "Équipe : (vide)"
|
||||
return
|
||||
var names : Array[String] = []
|
||||
for p in team.members:
|
||||
names.append("%s Lv.%d" % [p.get_display_name(), p.level])
|
||||
_team_label.text = "Équipe (%d/%d) : %s" % [team.size(), PokemonTeam.MAX_SIZE, ", ".join(names)]
|
||||
1
game/debug/debug_pokemon_panel.gd.uid
Normal file
1
game/debug/debug_pokemon_panel.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://b3058rssf6ud5
|
||||
171
game/mount/mount_rider.gd
Normal file
171
game/mount/mount_rider.gd
Normal file
|
|
@ -0,0 +1,171 @@
|
|||
class_name MountRider
|
||||
extends Node
|
||||
|
||||
#composant a ajouter en enfant de PlayerCharacter (a cote de InputManagementComponent / RecallInput).
|
||||
#gere la monte d'un SentPokemon dont l'espece a un MountProfile (voir MountRegistry) :
|
||||
# - s'approcher + appuyer sur mount_action (A) pour monter, dismount_action pour descendre
|
||||
# - le joueur garde ses etats Idle / Walk / Run / Jump / Aim / Throw
|
||||
# - Dodge et Crouch sont refuses par la StateMachine tant qu'on est monte
|
||||
# - vitesse, accel et saut sont remplaces par ceux du MountProfile
|
||||
|
||||
signal mounted(sent : SentPokemon)
|
||||
signal dismounted(sent : SentPokemon)
|
||||
signal candidate_changed(sent : SentPokemon) #pokemon montable a portee (null = aucun) : pour afficher "A : Monter" dans le HUD
|
||||
|
||||
@export var mount_action : StringName = &"player_interact" #A (manette) / E (clavier) : cree automatiquement s'il n'existe pas
|
||||
@export var dismount_action : StringName = &"player_dismount" #Y (manette) / F (clavier) : cree automatiquement s'il n'existe pas
|
||||
@export var mount_range : float = 2.5 #distance horizontale max entre le joueur et le pokemon
|
||||
@export var max_height_diff : float = 2.0
|
||||
@export var blocked_states : PackedStringArray = ["DodgeState", "CrouchState"] #etats refuses pendant la monte
|
||||
@export var swallow_jump_on_mount : bool = true #si A sert aussi a sauter : l'appui qui monte ne declenche pas de saut
|
||||
@export var camera_follow_speed : float = 8.0 #vitesse a laquelle la camera monte a hauteur de selle
|
||||
|
||||
const GROUNDED_STATES : Array[String] = ["Idle", "Walk", "Run"] #monter / descendre n'est possible que depuis ces etats
|
||||
|
||||
@onready var player : PlayerCharacter = get_parent()
|
||||
@onready var visual_root : Node3D = %VisualRoot
|
||||
@onready var cam_holder : Node3D = %CameraHolder
|
||||
@onready var state_machine : StateMachine = %StateMachine
|
||||
|
||||
var mount : SentPokemon = null
|
||||
var profile : MountProfile = null
|
||||
var candidate : SentPokemon = null
|
||||
|
||||
var _seat_applied : Vector3 = Vector3.ZERO
|
||||
var _cam_rise : float = 0.0
|
||||
|
||||
func _ready() -> void:
|
||||
process_physics_priority = -10 #avant la StateMachine : l'appui qui monte peut ainsi etre intercepte avant le saut
|
||||
_ensure_action(mount_action, func():
|
||||
var pad := InputEventJoypadButton.new()
|
||||
pad.button_index = JOY_BUTTON_A
|
||||
InputMap.action_add_event(mount_action, pad)
|
||||
var key := InputEventKey.new()
|
||||
key.physical_keycode = KEY_E
|
||||
InputMap.action_add_event(mount_action, key))
|
||||
_ensure_action(dismount_action, func():
|
||||
var pad := InputEventJoypadButton.new()
|
||||
pad.button_index = JOY_BUTTON_Y
|
||||
InputMap.action_add_event(dismount_action, pad)
|
||||
var key := InputEventKey.new()
|
||||
key.physical_keycode = KEY_F
|
||||
InputMap.action_add_event(dismount_action, key))
|
||||
|
||||
func _ensure_action(action : StringName, add_events : Callable) -> void:
|
||||
if InputMap.has_action(action): return
|
||||
InputMap.add_action(action)
|
||||
add_events.call()
|
||||
|
||||
func is_mounted() -> bool:
|
||||
return mount != null
|
||||
|
||||
func _physics_process(_delta : float) -> void:
|
||||
if mount != null:
|
||||
if Input.is_action_just_pressed(dismount_action) and _can_switch_now():
|
||||
dismount()
|
||||
return
|
||||
|
||||
_set_candidate(_find_candidate() if _can_switch_now() else null)
|
||||
if candidate != null and Input.is_action_just_pressed(mount_action):
|
||||
mount_up(candidate)
|
||||
|
||||
func _process(delta : float) -> void:
|
||||
if mount != null and !is_instance_valid(mount):
|
||||
dismount() #le pokemon a disparu sans passer par recall()
|
||||
|
||||
var rise_target : float = 0.0
|
||||
if mount != null:
|
||||
#la monture suit le joueur (position + orientation du modele)
|
||||
mount.global_position = player.global_position
|
||||
var yaw : float = visual_root.global_rotation.y
|
||||
if !SentPokemon.MODEL_FACES_PLUS_Z: yaw += PI
|
||||
mount.global_rotation = Vector3(0.0, yaw, 0.0)
|
||||
|
||||
#le joueur est assis a la selle (seat_offset est exprime dans le repere de la monture)
|
||||
var seat : Vector3 = mount.global_basis * profile.seat_offset
|
||||
visual_root.position += seat - _seat_applied
|
||||
_seat_applied = seat
|
||||
rise_target = profile.seat_offset.y
|
||||
|
||||
#la camera monte progressivement a hauteur de selle (en delta : ne gene pas les autres reglages de hauteur)
|
||||
var new_rise : float = lerpf(_cam_rise, rise_target, clampf(camera_follow_speed * delta, 0.0, 1.0))
|
||||
if absf(new_rise - rise_target) < 0.001: new_rise = rise_target
|
||||
cam_holder.position.y += new_rise - _cam_rise
|
||||
_cam_rise = new_rise
|
||||
|
||||
#---------- detection ----------
|
||||
|
||||
func _can_switch_now() -> bool:
|
||||
return player.is_on_floor() and state_machine.curr_state_name in GROUNDED_STATES
|
||||
|
||||
func _find_candidate() -> SentPokemon:
|
||||
var best : SentPokemon = null
|
||||
var best_dist : float = mount_range
|
||||
for node in get_tree().get_nodes_in_group(SentPokemon.GROUP):
|
||||
var s := node as SentPokemon
|
||||
if s == null or s.is_queued_for_deletion() or s.rider != null: continue
|
||||
if !_is_rideable_here(s): continue
|
||||
var diff : Vector3 = s.global_position - player.global_position
|
||||
if absf(diff.y) > max_height_diff: continue
|
||||
var dist : float = Vector2(diff.x, diff.z).length()
|
||||
if dist <= best_dist:
|
||||
best_dist = dist
|
||||
best = s
|
||||
return best
|
||||
|
||||
func _is_rideable_here(s : SentPokemon) -> bool:
|
||||
var p : MountProfile = MountRegistry.get_profile(s.pokemon.species)
|
||||
if p == null: return false
|
||||
#sur terre : une monture terrestre, ou volante (qui pourra decoller). Une monture aquatique seule reste a quai.
|
||||
return p.can_use_surface(MountProfile.Surface.GROUND) or p.can_use_surface(MountProfile.Surface.AIR)
|
||||
|
||||
func _set_candidate(s : SentPokemon) -> void:
|
||||
if s == candidate: return
|
||||
candidate = s
|
||||
candidate_changed.emit(s)
|
||||
|
||||
#---------- monter / descendre ----------
|
||||
|
||||
func mount_up(s : SentPokemon) -> void:
|
||||
if mount != null: return
|
||||
mount = s
|
||||
profile = MountRegistry.get_profile(s.pokemon.species)
|
||||
s.rider = player
|
||||
s.recalled.connect(_on_mount_recalled)
|
||||
_set_candidate(null)
|
||||
|
||||
player.is_mounted = true
|
||||
player.enter_mount_stats(profile.mount_speed, profile.mount_accel, profile.mount_deccel,
|
||||
-1.0 if profile.can_use_surface(MountProfile.Surface.AIR) else profile.mount_jump_height) #monture volante : le vol libre remplacera le saut
|
||||
for state_name in blocked_states:
|
||||
state_machine.set_state_blocked(state_name, true)
|
||||
if swallow_jump_on_mount: _swallow_jump_this_frame()
|
||||
|
||||
mounted.emit(s)
|
||||
|
||||
func dismount() -> void:
|
||||
if mount == null and profile == null: return
|
||||
var s : SentPokemon = mount
|
||||
mount = null
|
||||
profile = null
|
||||
|
||||
player.is_mounted = false
|
||||
player.exit_mount_stats()
|
||||
for state_name in blocked_states:
|
||||
state_machine.set_state_blocked(state_name, false)
|
||||
|
||||
visual_root.position -= _seat_applied
|
||||
_seat_applied = Vector3.ZERO
|
||||
|
||||
if is_instance_valid(s):
|
||||
s.rider = null
|
||||
if s.recalled.is_connected(_on_mount_recalled): s.recalled.disconnect(_on_mount_recalled)
|
||||
dismounted.emit(s)
|
||||
|
||||
func _on_mount_recalled() -> void:
|
||||
dismount() #le pokemon monte vient d'etre rappele (ex : relance de ce meme pokemon depuis le HUD)
|
||||
|
||||
func _swallow_jump_this_frame() -> void:
|
||||
state_machine.set_state_blocked("JumpState", true)
|
||||
await get_tree().physics_frame
|
||||
state_machine.set_state_blocked("JumpState", false)
|
||||
1
game/mount/mount_rider.gd.uid
Normal file
1
game/mount/mount_rider.gd.uid
Normal file
|
|
@ -0,0 +1 @@
|
|||
uid://c4vkkdl0an244
|
||||
|
|
@ -15,6 +15,8 @@ var was_on_floor : bool = false
|
|||
var walk_or_run : String = "WalkState" #keep in memory if play char was walking or running before being in the air
|
||||
var is_dodging : bool = false #true while DodgeState is active ; hook this up to a hurtbox/i-frame check later
|
||||
var is_crouching : bool = false #true while CrouchState is active ; hook this up to a collision-shape resize later
|
||||
var is_mounted : bool = false #true tant que MountRider a le joueur sur un pokemon
|
||||
var _base_ground_stats : Dictionary = {}
|
||||
|
||||
@export_group("Walk variables")
|
||||
@export var walk_speed : float = 5.0
|
||||
|
|
@ -165,6 +167,45 @@ func gravity_apply(delta : float):
|
|||
if !is_on_floor():
|
||||
if velocity.y >= 0.0: velocity.y -= jump_gravity * delta
|
||||
elif velocity.y < 0.0: velocity.y -= fall_gravity * delta
|
||||
|
||||
func apply_jump_height(height : float) -> void:
|
||||
#source unique des formules de saut (aussi utilisee pour les montures)
|
||||
jump_velocity = ((2.0 * height) / jump_time_to_peak) * -1.0
|
||||
jump_gravity = (2.0 * height) / (jump_time_to_peak * jump_time_to_peak)
|
||||
fall_gravity = (2.0 * height) / (jump_time_to_descent * jump_time_to_descent)
|
||||
|
||||
func enter_mount_stats(speed : float, accel : float, deccel : float, mount_jump_height : float) -> void:
|
||||
#mount_jump_height <= 0 : on garde le saut du joueur
|
||||
if _base_ground_stats.is_empty():
|
||||
_base_ground_stats = {
|
||||
"walk_speed": walk_speed, "walk_accel": walk_accel, "walk_deccel": walk_deccel,
|
||||
"run_speed": run_speed, "run_accel": run_accel, "run_deccel": run_deccel,
|
||||
}
|
||||
walk_speed = speed
|
||||
run_speed = speed
|
||||
walk_accel = accel
|
||||
run_accel = accel
|
||||
walk_deccel = deccel
|
||||
run_deccel = deccel
|
||||
if mount_jump_height > 0.0: apply_jump_height(mount_jump_height)
|
||||
#l'etat courant lit move_* sans repasser par enter()
|
||||
move_speed = speed
|
||||
move_accel = accel
|
||||
move_deccel = deccel
|
||||
|
||||
func exit_mount_stats() -> void:
|
||||
if _base_ground_stats.is_empty(): return
|
||||
walk_speed = _base_ground_stats["walk_speed"]
|
||||
walk_accel = _base_ground_stats["walk_accel"]
|
||||
walk_deccel = _base_ground_stats["walk_deccel"]
|
||||
run_speed = _base_ground_stats["run_speed"]
|
||||
run_accel = _base_ground_stats["run_accel"]
|
||||
run_deccel = _base_ground_stats["run_deccel"]
|
||||
_base_ground_stats.clear()
|
||||
apply_jump_height(jump_height) #jump_height n'est jamais modifie : on revient aux valeurs du joueur
|
||||
move_speed = walk_speed
|
||||
move_accel = walk_accel
|
||||
move_deccel = walk_deccel
|
||||
|
||||
func squash_and_strech(value : float, timing : float):
|
||||
#create a tween that simulate a compression of the model (squash and strech ones)
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@
|
|||
[ext_resource type="Script" uid="uid://bwojkp7yrwswt" path="res://game/player/states/dodge_state.gd" id="9_6abew"]
|
||||
[ext_resource type="Script" uid="uid://d0577tj0c23bu" path="res://game/player/states/crouch_state.gd" id="10_mi63v"]
|
||||
[ext_resource type="Script" uid="uid://c820hnwuwpmlg" path="res://game/player/input/recall_input.gd" id="13_siyau"]
|
||||
[ext_resource type="Script" uid="uid://c4vkkdl0an244" path="res://game/mount/mount_rider.gd" id="14_dkijf"]
|
||||
|
||||
[sub_resource type="Curve" id="Curve_kxr4l"]
|
||||
_limits = [0.0, 10.0, 0.0, 1.0]
|
||||
|
|
@ -86,18 +87,6 @@ script = ExtResource("6_lwgph")
|
|||
|
||||
[node name="AimState" type="Node" parent="StateMachine" unique_id=296560188]
|
||||
script = ExtResource("7_kxr4l")
|
||||
aim_action = null
|
||||
switch_target_action = null
|
||||
unlock_action = null
|
||||
throw_action = null
|
||||
throw_range = null
|
||||
max_aim_angle = null
|
||||
auto_lock_angle = null
|
||||
lose_range_margin = null
|
||||
check_line_of_sight = null
|
||||
line_of_sight_mask = null
|
||||
aim_move_speed = null
|
||||
aim_move_accel = null
|
||||
|
||||
[node name="ThrowState" type="Node" parent="StateMachine" unique_id=1159570489]
|
||||
script = ExtResource("8_k0r6x")
|
||||
|
|
@ -116,3 +105,6 @@ script = ExtResource("2_r5dqo")
|
|||
|
||||
[node name="RecallInput" type="Node" parent="." unique_id=1544887696]
|
||||
script = ExtResource("13_siyau")
|
||||
|
||||
[node name="MountRider" type="Node" parent="." unique_id=639128028]
|
||||
script = ExtResource("14_dkijf")
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ const THROW_ENTRY_STATES : Array[String] = ["Idle", "Walk", "Run", "Crouch"] #et
|
|||
var curr_state : State
|
||||
var curr_state_name : String
|
||||
var states : Dictionary = {}
|
||||
var blocked_states : Dictionary = {} #noms (en minuscules) des etats dont l'entree est refusee
|
||||
|
||||
@onready var char_ref : CharacterBody3D = $".."
|
||||
|
||||
|
|
@ -62,6 +63,8 @@ func on_state_child_transition(state : State, new_state_name : String) -> void:
|
|||
var new_state = states.get(new_state_name.to_lower())
|
||||
if !new_state: return
|
||||
|
||||
if blocked_states.has(new_state_name.to_lower()): return
|
||||
|
||||
#exit the current state
|
||||
if curr_state: curr_state.exit()
|
||||
|
||||
|
|
@ -70,3 +73,7 @@ func on_state_child_transition(state : State, new_state_name : String) -> void:
|
|||
|
||||
curr_state = new_state
|
||||
curr_state_name = curr_state.state_name
|
||||
|
||||
func set_state_blocked(state_name : String, blocked : bool) -> void:
|
||||
if blocked: blocked_states[state_name.to_lower()] = true
|
||||
else: blocked_states.erase(state_name.to_lower())
|
||||
|
|
|
|||
|
|
@ -8,12 +8,17 @@ signal recalled
|
|||
|
||||
const GROUP : StringName = &"sent_pokemon"
|
||||
const MODEL_FACES_PLUS_Z : bool = true #true si tes modeles regardent vers +Z (cas des glTF) : sinon mets false
|
||||
const HEIGHT_TO_METERS : float = 1.0 #PokeAPI donne la taille en decimetres ; mets 1.0 si ton import l'a deja convertie en metres
|
||||
const MIN_HEIGHT : float = 0.3 #bornes de la capsule en metres (augmente MAX_HEIGHT pour une echelle fidele aux tres gros pokemon)
|
||||
const MAX_HEIGHT : float = 8.0
|
||||
const DEFAULT_HEIGHT : float = 1.0 #utilise si la taille n'est pas renseignee (0)
|
||||
|
||||
static var _counter : int = 0 #ordre d'envoi, pour retrouver le plus recent
|
||||
|
||||
var pokemon : PokemonInstance
|
||||
var model : Node3D
|
||||
var order : int = 0
|
||||
var rider : Node3D = null
|
||||
|
||||
static func send(parent : Node, p : PokemonInstance, at : Vector3, look_at_pos : Vector3 = Vector3.INF) -> SentPokemon:
|
||||
#un pokemon deja sorti est d'abord rappele (il "se deplace" a l'endroit du nouveau lancer)
|
||||
|
|
@ -46,7 +51,7 @@ static func get_latest(tree : SceneTree) -> SentPokemon:
|
|||
#le pokemon sorti le plus recemment
|
||||
var latest : SentPokemon = null
|
||||
for n in tree.get_nodes_in_group(GROUP):
|
||||
if n is SentPokemon and !n.is_queued_for_deletion() and (latest == null or n.order > latest.order):
|
||||
if n is SentPokemon and !n.is_queued_for_deletion() and (latest == null or n.order > latest.order) and n.rider == null:
|
||||
latest = n
|
||||
return latest
|
||||
|
||||
|
|
@ -70,20 +75,25 @@ static func create_model(p : PokemonInstance) -> Node3D:
|
|||
static func _create_placeholder(p : PokemonInstance) -> Node3D:
|
||||
var colors : Array[Color] = TypeColors.for_species(p.species)
|
||||
|
||||
#taille issue des donnees de l'espece ; le rayon suit la hauteur pour garder des proportions coherentes
|
||||
var meters : float = p.species.height * HEIGHT_TO_METERS if p.species != null else 0.0
|
||||
var height : float = clampf(meters if meters > 0.0 else DEFAULT_HEIGHT, MIN_HEIGHT, MAX_HEIGHT)
|
||||
var radius : float = clampf(height * 0.3, 0.12, 1.5)
|
||||
|
||||
var body := MeshInstance3D.new()
|
||||
var capsule := CapsuleMesh.new()
|
||||
capsule.radius = 0.3
|
||||
capsule.height = 1.0
|
||||
capsule.radius = radius
|
||||
capsule.height = maxf(height, radius * 2.0) #une capsule ne peut pas etre plus basse que son diametre
|
||||
body.mesh = capsule
|
||||
body.position.y = 0.5
|
||||
body.position.y = capsule.height * 0.5 #les pieds posent sur le sol
|
||||
body.material_override = _make_material(colors[0])
|
||||
|
||||
#deuxieme type : anneau autour de la capsule
|
||||
if colors.size() > 1:
|
||||
var ring := MeshInstance3D.new()
|
||||
var torus := TorusMesh.new()
|
||||
torus.inner_radius = 0.29
|
||||
torus.outer_radius = 0.36
|
||||
torus.inner_radius = radius * 0.97
|
||||
torus.outer_radius = radius * 1.2
|
||||
ring.mesh = torus
|
||||
ring.material_override = _make_material(colors[1])
|
||||
body.add_child(ring)
|
||||
|
|
|
|||
|
|
@ -27,6 +27,8 @@ ControllerIcons="*uid://b7ho1rjcpht1d"
|
|||
GameData="*uid://d4beiel88cwc7"
|
||||
UiAudio="*uid://7e7fe2xk3aue"
|
||||
Pokedex="*uid://dijnkrewbwgmx"
|
||||
MountRegistry="*uid://u4gskwbwm0b0"
|
||||
DebugPokemonPanel="*uid://b3058rssf6ud5"
|
||||
|
||||
[display]
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue