mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-26 14:39:58 +01:00
Some gang stuff
This commit is contained in:
+11
-6
@@ -295,7 +295,7 @@
|
||||
D.emote("scream")
|
||||
D.drop_item()
|
||||
D.apply_damage(5, BRUTE, pick("l_arm", "r_arm"))
|
||||
D.Stun(2)
|
||||
D.Stun(3)
|
||||
return 1
|
||||
return basic_hit(A,D)
|
||||
|
||||
@@ -312,10 +312,10 @@
|
||||
/datum/martial_art/the_sleeping_carp/proc/kneeStomach(mob/living/carbon/human/A, mob/living/carbon/human/D)
|
||||
if(!D.stat && !D.weakened)
|
||||
D.visible_message("<span class='warning'>[A] knees [D] in the stomach!</span>", \
|
||||
"<span class'userdanger'>[A] winds you with a knee in the stomach!</span>")
|
||||
"<span class='userdanger'>[A] winds you with a knee in the stomach!</span>")
|
||||
D.audible_message("<b>[D]</b> gags!")
|
||||
D.losebreath += 3
|
||||
D.Stun(1)
|
||||
D.Stun(2)
|
||||
playsound(get_turf(D), 'sound/weapons/punch1.ogg', 50, 1, -1)
|
||||
return 1
|
||||
return basic_hit(A,D)
|
||||
@@ -327,6 +327,7 @@
|
||||
D.apply_damage(20, BRUTE, "head")
|
||||
D.drop_item()
|
||||
playsound(get_turf(D), 'sound/weapons/punch1.ogg', 75, 1, -1)
|
||||
D.Stun(4)
|
||||
return 1
|
||||
return basic_hit(A,D)
|
||||
|
||||
@@ -354,10 +355,14 @@
|
||||
add_to_streak("H")
|
||||
if(check_streak(A,D))
|
||||
return 1
|
||||
D.visible_message("<span class='danger'>[A] [pick("punches", "kicks", "chops", "hits", "slams")] [D]!</span>", \
|
||||
"<span class='userdanger'>[A] hits you!</span>")
|
||||
D.apply_damage(10, BRUTE)
|
||||
var/atk_verb = pick("punches", "kicks", "chops", "hits", "slams")
|
||||
D.visible_message("<span class='danger'>[A] [atk_verb] [D]!</span>", \
|
||||
"<span class='userdanger'>[A] [atk_verb] you!</span>")
|
||||
D.apply_damage(rand(10,15), BRUTE)
|
||||
playsound(get_turf(D), 'sound/weapons/punch1.ogg', 50, 1, -1)
|
||||
if(prob(D.getBruteLoss()) && !D.lying)
|
||||
D.visible_message("<span class='warning'>[D] stumbles and falls!</span>", "<span class='userdanger'>The blow sends you to the ground!</span>")
|
||||
D.Weaken(4)
|
||||
return 1
|
||||
|
||||
|
||||
|
||||
@@ -8,6 +8,17 @@ var/list/gang_colors_pool = list("red","orange","yellow","green","blue","purple"
|
||||
var/list/datum/gang/gangs = list()
|
||||
var/datum/gang_points/gang_points
|
||||
|
||||
/proc/is_gangster(var/mob/living/M)
|
||||
return istype(M) && M.mind && M.mind.gang_datum
|
||||
|
||||
/proc/is_in_gang(var/mob/living/M, var/gang_type = "")
|
||||
if(!is_gangster(M) || !(gang_type in gang_name_pool))
|
||||
return 0
|
||||
var/datum/gang/G = M.mind.gang_datum
|
||||
world << G.name
|
||||
if(G.name == gang_type)
|
||||
return 1
|
||||
return 0
|
||||
|
||||
/datum/game_mode/gang
|
||||
name = "gang war"
|
||||
|
||||
@@ -73,6 +73,9 @@
|
||||
/obj/item/weapon/pneumatic_cannon/afterattack(atom/target as mob|obj|turf, mob/living/carbon/human/user as mob|obj, flag, params)
|
||||
if(user.a_intent == "harm" || !ishuman(user))
|
||||
return ..()
|
||||
if(is_in_gang(user, "Sleeping Carp"))
|
||||
user << "<span class='warning'>Use of ranged weaponry would bring dishonor to the clan.</span>"
|
||||
return
|
||||
if(!loadedItems || !loadedWeightClass)
|
||||
user << "<span class='warning'>\The [src] has nothing loaded.</span>"
|
||||
return
|
||||
|
||||
@@ -168,6 +168,11 @@
|
||||
if(NOGUNS in user.dna.species.specflags)
|
||||
user << "<span class='warning'>Your fingers don't fit in the trigger guard!</span>"
|
||||
return 0
|
||||
|
||||
if(is_in_gang(user, "Sleeping Carp")) //great dishonor to famiry
|
||||
user << "<span class='warning'>Use of ranged weaponry would bring dishonor to the clan.</span>"
|
||||
return 0
|
||||
|
||||
return 1
|
||||
|
||||
|
||||
|
||||
@@ -60,6 +60,10 @@
|
||||
if(!isliving(target))
|
||||
return 0
|
||||
var/mob/living/L = target
|
||||
if(is_in_gang(L, "Sleeping Carp")) //Sleeping Carp gang can block projectiles!
|
||||
if(!L.lying) //But only if they aren't lying down
|
||||
L.visible_message("<span class='warning'>[L] deflects [src]!</span>", "<span class='userdanger'>You deflect [src]!</span>")
|
||||
return 1
|
||||
if(blocked != 100) // not completely blocked
|
||||
var/organ_hit_text = ""
|
||||
if(L.has_limbs)
|
||||
|
||||
Reference in New Issue
Block a user