forked from CeladonSS13/Shiptest
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
MAP: New ruin - Crashed Heron (CeladonSS13#1217)
* Делаем новую руину. Тяжелую руину. О падении с небес Херона * Добавляем атласы с новыми мобами * Берем и редачим голиафа под магму * Добавляем новых мобов. Лут. * Все, готово. Мобы раставлены * Удаляем дупликат * Меняем стоимость руине * Оставляем запись о руине * Добавлены записи * Update lavaland_crashed_heron.dmm Вырезаем РНД платы Signed-off-by: MrCat15352 <[email protected]> * Update lavaland_crashed_heron.dmm Обновляем Марадера Signed-off-by: MrCat15352 <[email protected]> * Добавляем прикольный спавнер магма черепов * Ремапим карту. Заменен поломаный вендиго на другого босса --------- Signed-off-by: MrCat15352 <[email protected]>
- Loading branch information
1 parent
af39da2
commit 779c037
Showing
11 changed files
with
25,062 additions
and
7 deletions.
There are no files selected for viewing
24,734 changes: 24,734 additions & 0 deletions
24,734
_maps/_mod_celadon/RandomRuins/LavaRuins/lavaland_crashed_heron.dmm
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,177 @@ | ||
/mob/living/simple_animal/hostile/asteroid/goliath/magma | ||
name = "magma goliath" | ||
desc = "Огромный, закованный в броню, магмовый зверь с длинными отростками, выходящие из его спины." | ||
icon = 'mod_celadon/_storge_icons/icons/mobs/goliaph_magma.dmi' | ||
icon_state = "goliath" | ||
icon_living = "goliath" | ||
icon_aggro = "goliath" | ||
icon_dead = "goliath_dead" | ||
throw_message = "does nothing to the tough hide of the" | ||
pre_attack_icon = "goliath_preattack" | ||
faction = list("magma") | ||
// mob_trophy = /obj/item/mob_trophy/goliath_tentacle | ||
butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab/goliath = 2, /obj/item/stack/sheet/bone = 2, /obj/item/stack/sheet/sinew = 2, /obj/item/stack/ore/silver = 10) | ||
guaranteed_butcher_results = list(/obj/item/stack/sheet/animalhide/goliath_hide = 2) | ||
loot = list(/obj/item/stack/ore/hellstone) | ||
stat_attack = UNCONSCIOUS | ||
robust_searching = 1 | ||
move_to_delay = 20 | ||
speed = 3 | ||
ranged_cooldown_time = 240 | ||
tentacle_type = /obj/effect/temp_visual/goliath_tentacle/magma | ||
armor = list("melee" = 20, "bullet" = 60, "laser" = 60, "energy" = 60, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100) | ||
maxHealth = 100 | ||
health = 100 | ||
mob_biotypes = MOB_MINERAL | MOB_BEAST | ||
var/saddled = FALSE | ||
var/charging = FALSE | ||
var/revving_charge = FALSE | ||
var/charge_range = 7 | ||
var/tent_range = 3 | ||
|
||
/mob/living/simple_animal/hostile/asteroid/goliath/magma/proc/charge(atom/chargeat = target, delay = 10, chargepast = 2) | ||
if(!chargeat) | ||
return | ||
var/chargeturf = get_turf(chargeat) | ||
if(!chargeturf) | ||
return | ||
var/dir = get_dir(src, chargeturf) | ||
var/turf/T = get_ranged_target_turf(chargeturf, dir, chargepast) | ||
if(!T) | ||
return | ||
charging = TRUE | ||
revving_charge = TRUE | ||
walk(src, 0) | ||
setDir(dir) | ||
var/obj/effect/temp_visual/decoy/D = new /obj/effect/temp_visual/decoy(loc,src) | ||
animate(D, alpha = 0, color = "#ffa600", transform = matrix()*2, time = 3) | ||
SLEEP_CHECK_DEATH(delay) | ||
revving_charge = FALSE | ||
var/movespeed = 0.8 | ||
walk_towards(src, T, movespeed) | ||
SLEEP_CHECK_DEATH(get_dist(src, T) * movespeed) | ||
walk(src, 0) // cancel the movement | ||
charging = FALSE | ||
|
||
/mob/living/simple_animal/hostile/asteroid/goliath/magma/Bump(atom/A) | ||
. = ..() | ||
if(charging && isclosedturf(A)) // We slammed into a wall while charging | ||
wall_slam(A) | ||
|
||
/mob/living/simple_animal/hostile/asteroid/goliath/magma/proc/wall_slam(atom/A) | ||
charging = FALSE | ||
Stun(100, TRUE, TRUE) | ||
walk(src, 0) // Cancel the movement | ||
if(ismineralturf(A)) | ||
var/turf/closed/mineral/M = A | ||
if(M.mineralAmt < 7) | ||
M.mineralAmt++ | ||
|
||
/mob/living/simple_animal/hostile/asteroid/goliath/magma/OpenFire() | ||
var/tturf = get_turf(target) | ||
var/dist = get_dist(src, target) | ||
if(!isturf(tturf) || !isliving(target)) | ||
return | ||
if(dist <= tent_range) | ||
visible_message("<span class='warning'>[src] digs it's tentacles under [target]!</span>") | ||
new tentacle_type(tturf, src ,TRUE) | ||
ranged_cooldown = world.time + ranged_cooldown_time | ||
icon_state = icon_aggro | ||
pre_attack = 0 | ||
else if(dist <= charge_range && can_charge) //Screen range check, so you can't get charged offscreen | ||
charge() | ||
|
||
/mob/living/simple_animal/hostile/asteroid/goliath/magma/attackby(obj/item/O, mob/user, params) | ||
if(istype(O, /obj/item/saddle) && !saddled) | ||
if(tame && do_after(user, 55, target=src)) | ||
user.visible_message("<span class='notice'>You manage to put [O] on [src], you can now ride [p_them()].</span>") | ||
qdel(O) | ||
saddled = TRUE | ||
can_buckle = TRUE | ||
buckle_lying = FALSE | ||
add_overlay("goliath_saddled") | ||
var/datum/component/riding/D = LoadComponent(/datum/component/riding) | ||
D.set_riding_offsets(RIDING_OFFSET_ALL, list(TEXT_NORTH = list(0, 8), TEXT_SOUTH = list(0, 8), TEXT_EAST = list(-2, 8), TEXT_WEST = list(2, 8))) | ||
D.set_vehicle_dir_layer(SOUTH, ABOVE_MOB_LAYER) | ||
D.set_vehicle_dir_layer(NORTH, OBJ_LAYER) | ||
D.set_vehicle_dir_layer(EAST, OBJ_LAYER) | ||
D.set_vehicle_dir_layer(WEST, OBJ_LAYER) | ||
D.drive_verb = "ride" | ||
else | ||
user.visible_message("<span class='warning'>[src] is rocking around! You can't put the saddle on!</span>") | ||
return | ||
..() | ||
|
||
//tentacles | ||
GLOBAL_LIST_INIT(onecardinal, NORTH) // Патерн атаки для одного щупальца | ||
|
||
/obj/effect/temp_visual/goliath_tentacle/magma | ||
name = "goliath tentacle" | ||
icon = 'mod_celadon/_storge_icons/icons/mobs/legion_magma.dmi' | ||
icon_state = "Goliath_tentacle_wiggle" | ||
layer = BELOW_MOB_LAYER | ||
wiggle = "Goliath_tentacle_spawn" | ||
retract = "Goliath_tentacle_retract" | ||
difficulty = 3 | ||
|
||
/obj/effect/temp_visual/goliath_tentacle/magma/Initialize(mapload, mob/living/new_spawner,recursive = FALSE) | ||
. = ..() | ||
flick(wiggle,src) | ||
for(var/obj/effect/temp_visual/goliath_tentacle/magma/T in loc) | ||
if(T != src) | ||
return INITIALIZE_HINT_QDEL | ||
if(!QDELETED(new_spawner)) | ||
spawner = new_spawner | ||
if(ismineralturf(loc)) | ||
var/turf/closed/mineral/M = loc | ||
M.gets_drilled() | ||
deltimer(timerid) | ||
timerid = addtimer(CALLBACK(src, PROC_REF(tripanim)), 7, TIMER_STOPPABLE) | ||
if(!recursive) | ||
return | ||
var/list/directions = get_directions() | ||
for(var/i in 1 to difficulty) | ||
var/spawndir = pick_n_take(directions) | ||
var/turf/T = get_step(src, spawndir) | ||
if(T) | ||
new type(T, spawner) | ||
|
||
/obj/effect/temp_visual/goliath_tentacle/magma/get_directions() | ||
switch(rand(1,4)) | ||
if(1) | ||
return GLOB.diagonals.Copy() | ||
if(2) | ||
return GLOB.cardinals.Copy() | ||
if(3) | ||
return GLOB.cardinals_multiz.Copy() | ||
if(4) | ||
return GLOB.onecardinal.Copy() | ||
|
||
|
||
/obj/effect/temp_visual/goliath_tentacle/magma/tripanim() | ||
deltimer(timerid) | ||
timerid = addtimer(CALLBACK(src, PROC_REF(trip)), 3, TIMER_STOPPABLE) | ||
|
||
/obj/effect/temp_visual/goliath_tentacle/magma/trip() | ||
var/latched = FALSE | ||
for(var/mob/living/L in loc) | ||
if((!QDELETED(spawner) && spawner.faction_check_mob(L)) || L.stat == DEAD) | ||
continue | ||
visible_message("<span class='danger'>[src] wraps a mass of magma tentacles around [L]!</span>") | ||
on_hit(L) | ||
latched = TRUE | ||
if(!latched) | ||
retract() | ||
else | ||
deltimer(timerid) | ||
timerid = addtimer(CALLBACK(src, PROC_REF(retract)), 10, TIMER_STOPPABLE) | ||
|
||
/obj/effect/temp_visual/goliath_tentacle/magma/on_hit(mob/living/target) | ||
target.apply_damage(rand(5,20), BURN, pick(BODY_ZONE_L_LEG, BODY_ZONE_R_LEG)) | ||
|
||
/obj/effect/temp_visual/goliath_tentacle/magma/retract() | ||
icon_state = "marker" | ||
flick(retract,src) | ||
deltimer(timerid) | ||
timerid = QDEL_IN(src, 7) | ||
new /turf/open/lava/smooth(loc) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,118 @@ | ||
//Legion | ||
/mob/living/simple_animal/hostile/asteroid/hivelord/legion/magma | ||
name = "magma legion" | ||
desc = "You can still see what was once a human under the shifting mass of corruption." | ||
icon = 'mod_celadon/_storge_icons/icons/mobs/legion_magma.dmi' | ||
icon_state = "legion" | ||
icon_living = "legion" | ||
icon_aggro = "legion" | ||
icon_dead = "legion" | ||
icon_gib = "syndicate_gib" | ||
mob_biotypes = MOB_MINERAL | MOB_BEAST | ||
mouse_opacity = MOUSE_OPACITY_ICON | ||
obj_damage = 80 | ||
melee_damage_lower = 25 | ||
melee_damage_upper = 25 | ||
maxHealth = 85 | ||
health = 85 | ||
attack_verb_continuous = "lashes out at" | ||
attack_verb_simple = "lash out at" | ||
speak_emote = list("echoes") | ||
attack_sound = 'sound/weapons/pierce.ogg' | ||
throw_message = "bounces harmlessly off of" | ||
armor = list("melee" = 60, "bullet" = 20, "laser" = 20, "energy" = 20, "bomb" = 100, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100) | ||
loot = list(/obj/item/stack/ore/hellstone) | ||
brood_type = /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/magma | ||
del_on_death = 1 | ||
stat_attack = HARD_CRIT | ||
robust_searching = 1 | ||
faction = list("magma") | ||
speed = 3 | ||
move_to_delay = 10 | ||
ranged_cooldown = 10 | ||
ranged_cooldown_time = 20 | ||
|
||
/mob/living/simple_animal/hostile/asteroid/hivelord/legion/magma/death(gibbed) | ||
move_force = MOVE_FORCE_DEFAULT | ||
move_resist = MOVE_RESIST_DEFAULT | ||
pull_force = PULL_FORCE_DEFAULT | ||
if(prob(5)) | ||
new /obj/item/crusher_trophy/magma_skull/magma(loc) | ||
visible_message("<span class='warning'>One of the [src]'s skulls looks intact.</span>") | ||
qdel(src) | ||
|
||
/mob/living/simple_animal/hostile/asteroid/hivelord/legion/magma/death(gibbed) | ||
explosion(src, 0, 0, 2, 3, TRUE, flame_range = 3) | ||
..(gibbed) | ||
|
||
//Legion skull | ||
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/magma | ||
name = "legion" | ||
desc = "One of many." | ||
icon = 'mod_celadon/_storge_icons/icons/mobs/legion_magma.dmi' | ||
icon_state = "legion_head" | ||
icon_living = "legion_head" | ||
icon_aggro = "legion_head" | ||
icon_dead = "legion_head" | ||
icon_gib = "syndicate_gib" | ||
friendly_verb_continuous = "buzzes near" | ||
friendly_verb_simple = "buzz near" | ||
vision_range = 10 | ||
maxHealth = 5 | ||
health = 5 | ||
harm_intent_damage = 5 | ||
melee_damage_lower = 5 | ||
melee_damage_upper = 5 | ||
attack_verb_continuous = "bites" | ||
attack_verb_simple = "bite" | ||
speak_emote = list("echoes") | ||
attack_sound = 'mod_celadon/_storge_sounds/sound/effects/boom_small.ogg' | ||
throw_message = "is shrugged off by" | ||
del_on_death = TRUE | ||
stat_attack = SOFT_CRIT | ||
robust_searching = 1 | ||
can_infest_dead = FALSE | ||
speed = 3 | ||
move_to_delay = 10 | ||
melee_damage_type = BURN | ||
faction = list("magma") | ||
|
||
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/magma/death(gibbed) | ||
explosion(src, 0, 0, 1, 1, TRUE, flame_range = 1) | ||
return ..() | ||
|
||
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/magma/Life() | ||
return | ||
|
||
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/magma/infest(mob/living/carbon/human/H) | ||
return | ||
|
||
/mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/magma/on_hit(mob/living/target) | ||
target.apply_damage(rand(melee_damage_lower, melee_damage_upper), BURN) | ||
|
||
//Trophey legion | ||
/obj/item/crusher_trophy/magma_skull/magma | ||
name = "magma skull" | ||
desc = "A dead and lifeless magma skull. Could be used in crafting." | ||
icon = 'mod_celadon/_storge_icons/icons/mobs/legion_magma.dmi' | ||
icon_state = "legion_skull" | ||
denied_type = /obj/item/crusher_trophy/magma_skull/magma | ||
bonus_value = 10 | ||
|
||
/obj/item/crusher_trophy/magma_skull/magma/examine(mob/user) | ||
. = ..() | ||
. += "<span class='notice'>Suitable as a trophy for a proto-kinetic crusher.</span>" | ||
|
||
/obj/item/crusher_trophy/magma_skull/magma/effect_desc() | ||
return "a kinetic crusher to armor penetration +<b>[bonus_value + 5]</b> up" | ||
|
||
/obj/item/crusher_trophy/magma_skull/magma/add_to(obj/item/kinetic_crusher/H, mob/living/user) | ||
. = ..() | ||
if(.) | ||
H.armour_penetration += bonus_value | ||
|
||
/obj/item/crusher_trophy/magma_skull/magma/remove_from(obj/item/kinetic_crusher/H, mob/living/user) | ||
. = ..() | ||
if(.) | ||
H.armour_penetration -= bonus_value | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
LIVE_MINE_HELPER(proximity/spawner/magma_skull) | ||
|
||
/obj/item/mine/proximity/spawner/magma_skull | ||
name = "\improper magma skull" | ||
desc = "This is magma skull" | ||
spawn_type = /mob/living/simple_animal/hostile/asteroid/hivelordbrood/legion/magma | ||
spawn_number = 1 | ||
|
||
/obj/effect/spawner/minefield/magma_skull | ||
name = "magma skull field spawner" | ||
minetype = /obj/item/mine/proximity/spawner/magma_skull/live |