syndie laser gun + elitesyndie viscerator gun (#34681)
* viscerator gun code * Syndie laser rifle for nuke ops, Viscerator gun for SyndieSquad, sprites by Blithering * no map, just spawn one gun
@@ -104,6 +104,8 @@
|
||||
|
||||
#define isclowngoblin(A) istype(A, /mob/living/simple_animal/hostile/retaliate/cluwne/goblin)
|
||||
|
||||
#define isbee(A) istype(A, /mob/living/simple_animal/bee)
|
||||
|
||||
#define isAI(A) istype(A, /mob/living/silicon/ai)
|
||||
|
||||
#define isAIEye(A) istype(A, /mob/camera/aiEye)
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
// Classic alternate setup with a twist. Laser Rifle as a primary, but ion carbine as a backup and extra EMP nades for those ENERGY needs. Zap-zap the borgs
|
||||
"Energy" = list(
|
||||
slot_glasses_str = /obj/item/clothing/glasses/sunglasses/prescription,
|
||||
slot_belt_str = /obj/item/weapon/gun/energy/laser,
|
||||
slot_belt_str = /obj/item/weapon/gun/energy/laser/rifle/syndie,
|
||||
slot_in_backpack_str = list(
|
||||
/obj/item/weapon/gun/energy/ionrifle/ioncarbine = 1,
|
||||
/obj/item/weapon/grenade/empgrenade = 2,
|
||||
|
||||
@@ -13,9 +13,13 @@
|
||||
|
||||
|
||||
/datum/striketeam/syndicate/extras()
|
||||
var/v = 0
|
||||
for (var/obj/effect/landmark/L in landmarks_list)
|
||||
if (L.name == "Syndicate-Commando-Bomb")
|
||||
new /obj/effect/spawner/newbomb/timer/syndicate(L.loc)
|
||||
if(!v)
|
||||
new /obj/item/weapon/gun/gatling/beegun/ss_visceratorgun(L.loc)//i don't want to map in more guns
|
||||
v = 1
|
||||
|
||||
/datum/striketeam/syndicate/create_commando(obj/spawn_location, syndicate_leader_selected = 0)
|
||||
var/mob/living/carbon/human/new_syndicate_commando = new(spawn_location.loc)
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
/mob/living/simple_animal/hostile/viscerator/CanAttack(var/atom/the_target)
|
||||
if(ismob(the_target))
|
||||
var/mob/mob_target = the_target
|
||||
if((isnukeop(mob_target) && faction == "syndicate") || (iswizard(mob_target) && faction == "wizard"))
|
||||
if((iselitesyndie(mob_target) && faction == "syndiesquad") || (isnukeop(mob_target) && faction == "syndicate") || (iswizard(mob_target) && faction == "wizard"))
|
||||
return 0
|
||||
return ..(the_target)
|
||||
|
||||
@@ -60,10 +60,15 @@
|
||||
|
||||
|
||||
/mob/living/simple_animal/hostile/viscerator/proc/handle_faction(var/mob/user)
|
||||
if(!user || isnukeop(user) || iswizard(user)) //wizard and nook ops already properly match faction
|
||||
if(!user || iselitesyndie(user) || isnukeop(user) || iswizard(user)) //wizard and nook ops already properly match faction
|
||||
return
|
||||
faction = "\ref[user]"
|
||||
|
||||
/mob/living/simple_animal/hostile/viscerator/syndiesquad
|
||||
faction = "syndiesquad"
|
||||
icon_state = "viscerator_black"
|
||||
icon_living = "viscerator_black"
|
||||
|
||||
/mob/living/simple_animal/hostile/viscerator/flying_skull
|
||||
name = "flying skull"
|
||||
desc = "A human skull levitating in the air."
|
||||
|
||||
@@ -50,6 +50,11 @@
|
||||
projectile_type = /obj/item/projectile/beam
|
||||
charge_cost = 50
|
||||
|
||||
/obj/item/weapon/gun/energy/laser/rifle/syndie
|
||||
icon_state = "exaltlasergun"
|
||||
item_state = "exaltlasergun"
|
||||
fire_sound = 'sound/weapons/laserriflefire.ogg'
|
||||
|
||||
/obj/item/weapon/gun/energy/laser/failure_check(var/mob/living/carbon/human/M)
|
||||
if(istext(projectile_type))
|
||||
projectile_type = text2path(projectile_type)
|
||||
|
||||
@@ -127,6 +127,14 @@
|
||||
item_state = "hornetgun0"
|
||||
gatlingbullet = /obj/item/projectile/bullet/beegun/hornet
|
||||
|
||||
|
||||
/obj/item/weapon/gun/gatling/beegun/ss_visceratorgun
|
||||
name = "viscerator gun"
|
||||
desc = "THE HAAAAAAACKS!"
|
||||
icon_state = "ss_visceratorgun"
|
||||
item_state = "ss_visceratorgun0"
|
||||
gatlingbullet = /obj/item/projectile/bullet/beegun/ss_viscerator
|
||||
|
||||
/obj/item/weapon/gun/gatling/batling
|
||||
name = "batling gun"
|
||||
desc = "Batter up!"
|
||||
|
||||
@@ -450,7 +450,7 @@
|
||||
var/angery = 1
|
||||
|
||||
/obj/item/projectile/bullet/beegun/chillbug
|
||||
name = "hornet"
|
||||
name = "chillbug"
|
||||
icon_state = "chillgun"
|
||||
projectile_speed = 0.5
|
||||
bee_type = /mob/living/simple_animal/bee/chillgun
|
||||
@@ -462,8 +462,15 @@
|
||||
projectile_speed = 0.5
|
||||
bee_type = /mob/living/simple_animal/bee/hornetgun
|
||||
|
||||
/obj/item/projectile/bullet/beegun/ss_viscerator
|
||||
name = "viscerator"
|
||||
icon_state = "ss_visceratorgun"
|
||||
projectile_speed = 0.75
|
||||
bee_type = /mob/living/simple_animal/hostile/viscerator/syndiesquad
|
||||
|
||||
/obj/item/projectile/bullet/beegun/OnFired()
|
||||
..()
|
||||
if(isbee(bee_type) )
|
||||
playsound(starting, 'sound/effects/bees.ogg', 75, 1)
|
||||
|
||||
/obj/item/projectile/bullet/beegun/to_bump(atom/A as mob|obj|turf|area)
|
||||
@@ -485,12 +492,14 @@
|
||||
admin_warn(M)
|
||||
BEE.forceMove(M.loc)
|
||||
BEE.target = M
|
||||
if(isbee(BEE))
|
||||
BEE.target_turf = M.loc
|
||||
BEE.AttackTarget(TRUE)//let's sting them once
|
||||
if (angery)
|
||||
if (isbee(BEE) && BEE.bee_species.angery)
|
||||
BEE.MoveToTarget()//then let's immediately start running after them
|
||||
else
|
||||
BEE.target = null
|
||||
if(isbee(BEE))
|
||||
BEE.target_turf = null
|
||||
|
||||
bullet_die()
|
||||
|
||||
|
Before Width: | Height: | Size: 592 KiB After Width: | Height: | Size: 595 KiB |
|
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 48 KiB After Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 100 KiB After Width: | Height: | Size: 102 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 29 KiB |