diff --git a/resources/graphics/Cards/card_garlic.png b/resources/graphics/Cards/card_garlic.png new file mode 100644 index 0000000..27e5520 Binary files /dev/null and b/resources/graphics/Cards/card_garlic.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic/Garlic_0.png b/resources/graphics/Plants/Garlic/Garlic/Garlic_0.png new file mode 100644 index 0000000..d28ace9 Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic/Garlic_0.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic/Garlic_1.png b/resources/graphics/Plants/Garlic/Garlic/Garlic_1.png new file mode 100644 index 0000000..2e301a2 Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic/Garlic_1.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic/Garlic_10.png b/resources/graphics/Plants/Garlic/Garlic/Garlic_10.png new file mode 100644 index 0000000..9baad3e Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic/Garlic_10.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic/Garlic_11.png b/resources/graphics/Plants/Garlic/Garlic/Garlic_11.png new file mode 100644 index 0000000..ccecfaa Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic/Garlic_11.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic/Garlic_2.png b/resources/graphics/Plants/Garlic/Garlic/Garlic_2.png new file mode 100644 index 0000000..7a75811 Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic/Garlic_2.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic/Garlic_3.png b/resources/graphics/Plants/Garlic/Garlic/Garlic_3.png new file mode 100644 index 0000000..1d98e4e Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic/Garlic_3.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic/Garlic_4.png b/resources/graphics/Plants/Garlic/Garlic/Garlic_4.png new file mode 100644 index 0000000..b9b5306 Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic/Garlic_4.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic/Garlic_5.png b/resources/graphics/Plants/Garlic/Garlic/Garlic_5.png new file mode 100644 index 0000000..3d8584d Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic/Garlic_5.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic/Garlic_6.png b/resources/graphics/Plants/Garlic/Garlic/Garlic_6.png new file mode 100644 index 0000000..12dc513 Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic/Garlic_6.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic/Garlic_7.png b/resources/graphics/Plants/Garlic/Garlic/Garlic_7.png new file mode 100644 index 0000000..0f2789f Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic/Garlic_7.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic/Garlic_8.png b/resources/graphics/Plants/Garlic/Garlic/Garlic_8.png new file mode 100644 index 0000000..dd27bc3 Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic/Garlic_8.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic/Garlic_9.png b/resources/graphics/Plants/Garlic/Garlic/Garlic_9.png new file mode 100644 index 0000000..68b8ccb Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic/Garlic_9.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_0.png b/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_0.png new file mode 100644 index 0000000..ea442d7 Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_0.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_1.png b/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_1.png new file mode 100644 index 0000000..7768392 Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_1.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_10.png b/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_10.png new file mode 100644 index 0000000..94f46a4 Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_10.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_11.png b/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_11.png new file mode 100644 index 0000000..fb0323e Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_11.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_2.png b/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_2.png new file mode 100644 index 0000000..146e24b Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_2.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_3.png b/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_3.png new file mode 100644 index 0000000..1035f2b Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_3.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_4.png b/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_4.png new file mode 100644 index 0000000..c1aa561 Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_4.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_5.png b/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_5.png new file mode 100644 index 0000000..9c82a23 Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_5.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_6.png b/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_6.png new file mode 100644 index 0000000..46edfd0 Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_6.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_7.png b/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_7.png new file mode 100644 index 0000000..f541ee4 Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_7.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_8.png b/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_8.png new file mode 100644 index 0000000..0cdb12a Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_8.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_9.png b/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_9.png new file mode 100644 index 0000000..453b0e1 Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic_cracked1/Garlic_cracked1_9.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_0.png b/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_0.png new file mode 100644 index 0000000..4390f67 Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_0.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_1.png b/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_1.png new file mode 100644 index 0000000..983b1ed Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_1.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_10.png b/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_10.png new file mode 100644 index 0000000..8686baa Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_10.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_11.png b/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_11.png new file mode 100644 index 0000000..247c046 Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_11.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_2.png b/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_2.png new file mode 100644 index 0000000..6461627 Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_2.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_3.png b/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_3.png new file mode 100644 index 0000000..0f4ce27 Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_3.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_4.png b/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_4.png new file mode 100644 index 0000000..7eadf2b Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_4.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_5.png b/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_5.png new file mode 100644 index 0000000..7826f8c Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_5.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_6.png b/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_6.png new file mode 100644 index 0000000..ac06bd4 Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_6.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_7.png b/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_7.png new file mode 100644 index 0000000..59185f4 Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_7.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_8.png b/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_8.png new file mode 100644 index 0000000..fa6e3fc Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_8.png differ diff --git a/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_9.png b/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_9.png new file mode 100644 index 0000000..2c76998 Binary files /dev/null and b/resources/graphics/Plants/Garlic/Garlic_cracked2/Garlic_cracked2_9.png differ diff --git a/source/component/plant.py b/source/component/plant.py index 89263d4..e702363 100755 --- a/source/component/plant.py +++ b/source/component/plant.py @@ -1780,3 +1780,27 @@ class IceFrozenPlot(Plant): self.health = 0 +class Garlic(Plant): + def __init__(self, x, y): + Plant.__init__(self, x, y, c.GARLIC, c.GARLIC_HEALTH, None) + self.load_images() + self.cracked1 = False + self.cracked2 = False + + def load_images(self): + self.cracked1_frames = [] + self.cracked2_frames = [] + + cracked1_frames_name = self.name + '_cracked1' + cracked2_frames_name = self.name + '_cracked2' + + self.loadFrames(self.cracked1_frames, cracked1_frames_name, 1) + self.loadFrames(self.cracked2_frames, cracked2_frames_name, 1) + + def idling(self): + if (not self.cracked1) and self.health <= c.GARLIC_CRACKED1_HEALTH: + self.changeFrames(self.cracked1_frames) + self.cracked1 = True + elif (not self.cracked2) and self.health <= c.GARLIC_CRACKED2_HEALTH: + self.changeFrames(self.cracked2_frames) + self.cracked2 = True diff --git a/source/constants.py b/source/constants.py index 99c82bf..6515db8 100755 --- a/source/constants.py +++ b/source/constants.py @@ -242,6 +242,7 @@ HOLE = 'Hole' GRAVE = 'Grave' GRAVEBUSTER = 'GraveBuster' FUMESHROOM = 'FumeShroom' +GARLIC = 'Garlic' # 植物集体属性集合 @@ -302,7 +303,7 @@ PLANT_NON_CHECK_ATTACK_STATE = ( # 这里运用了集合运算 TORCHWOOD, SUNFLOWER, SUNSHROOM, COFFEEBEAN, GRAVEBUSTER, LILYPAD, - HYPNOSHROOM, + HYPNOSHROOM, GARLIC, } | # 非植物类 NON_PLANT_OBJECTS @@ -324,6 +325,9 @@ WALLNUT_CRACKED2_HEALTH = WALLNUT_HEALTH//3 TALLNUT_HEALTH = 8000 TALLNUT_CRACKED1_HEALTH = TALLNUT_HEALTH//3 * 2 TALLNUT_CRACKED2_HEALTH = TALLNUT_HEALTH//3 +GARLIC_HEALTH = 450 +GARLIC_CRACKED1_HEALTH = GARLIC_HEALTH//3 * 2 +GARLIC_CRACKED2_HEALTH = GARLIC_HEALTH//3 # 坚果保龄球攻击伤害 WALLNUT_BOWLING_DAMAGE = 550 @@ -367,6 +371,7 @@ CARD_TANGLEKLEP = 'card_tangleklep' CARD_DOOMSHROOM = 'card_doomshroom' CARD_GRAVEBUSTER = 'card_gravebuster' CARD_FUMESHROOM = 'card_fumeshroom' +CARD_GARLIC = 'card_garlic' # 子弹信息 # 子弹类型 diff --git a/source/state/level.py b/source/state/level.py index e89f63d..83d3c6b 100644 --- a/source/state/level.py +++ b/source/state/level.py @@ -913,6 +913,8 @@ class Level(tool.State): new_plant = plant.GraveBuster(x, y, self.plant_groups[map_y], self.map, map_x) elif self.plant_name == c.FUMESHROOM: new_plant = plant.FumeShroom(x, y, self.bullet_groups[map_y], self.zombie_groups[map_y]) + elif self.plant_name == c.GARLIC: + new_plant = plant.Garlic(x, y) if new_plant.can_sleep and self.background_type in c.DAYTIME_BACKGROUNDS: