forked from tgstation/TerraGov-Marine-Corps
-
Notifications
You must be signed in to change notification settings - Fork 22
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Update smartdisc.dm * а * more sprites * а * а * А * Update __game.dm * f * Update smartdisc.dm * EMERGENCY FIXES * FFFFFIX * F * f * f * F * F * f * f * F * f * F * f * F * f * f * fixes * Update egg.dm * а * F * f * Skull issue * f * F * f f * F * f * F * f * а * а * а * LV pred dlc * f * f * а * F * F * Update floor_types.dm * Update smartdisc.dm * Update yaut_weapons.dm * sandstone fixes * Update LV624.dmm * Update yaut_bracers.dm * Update yaut_weapons.dm * Update smartdisc.dm * Update prop.dm * f * fixes+tweaks * F * no more sensor blip cringe * а * no more turret aggro for invis pred * more machine sprites * rain anti invis * а * а * а * f * а * fix + strap for weapons * фиксы по заказу блундира * f * Update yaut_weapons.dm * а * Update huntership.dmm * fixes * Update map_blips.dmi * Update map_blips.dmi * Update map_blips.dmi * Update map_blips.dmi * п * F * f * F * F * f * f * F * f * f * F * f * F * F * f * f * f * F * F * F * f * F * f * fix h_style * а * f * а * а * no more invis pred bumps * fix pred closet icon * f * yautja radio color * а * а * f * F * а * А * tweaks * caster tweaks * а а * lang fix * F * fix * capes * ку * а * f * f * skill issue fix * sensors skill issue * а * prob solving issue * f * lv torch fixes * weapons balancing * nest fix * а а * А * hunt fixes * crystall issue * F * F * f * f * f * Update huntership.dmm * issues * skull issue fix * Update beam.dmi * blacklist * а * Update hunt_system.dm * Update hunt_system.dm * Update hunt_system.dm * F * F * А * F * f * sql fixes * foreign legion radio + observe fixes * Update TGS_Talos.dmm * f * а * f * Update modular_helmet_storage.dmi * Merge branch 'NO_PREDS&' of https://github.com/blackcrystall/TGMC-commits into pr/206 * f * F * f * а * f * Update yaut_weapons.dm * fixes * а * F * а * а * f * f * blundir moment * self kill no more honored * cm xeno abilities better... * CM devs skill issue? maybe * my own skill issue * cringe ban system for preds * pred eye colour, as req * bruh * buff * fixes * real buff * FIX * а * f * а --------- Co-authored-by: Blundir <[email protected]> Co-authored-by: BlackCrystalic <[email protected]> Co-authored-by: Blundir <[email protected]>
- Loading branch information
1 parent
496e85a
commit bb0e234
Showing
422 changed files
with
28,821 additions
and
2,160 deletions.
There are no files selected for viewing
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,18 @@ | ||
/datum/hud/human/species/yautja/New(mob/living/carbon/human/owner, ui_style='icons/mob/screen/White.dmi', ui_color = "#ffffff", ui_alpha = 230) | ||
. = ..() | ||
|
||
pred_power_icon = new /atom/movable/screen() | ||
pred_power_icon.icon = 'icons/mob/screen/yautja.dmi' | ||
pred_power_icon.icon_state = "powerbar10" | ||
pred_power_icon.name = "bracer power stored" | ||
pred_power_icon.screen_loc = ui_predator_power | ||
infodisplay += pred_power_icon | ||
|
||
/mob/living/carbon/human/species/yautja/create_mob_hud() | ||
if(client && !hud_used) | ||
var/ui_style = ui_style2icon(client.prefs.ui_style) | ||
var/ui_color = client.prefs.ui_style_color | ||
var/ui_alpha = client.prefs.ui_style_alpha | ||
hud_used = new /datum/hud/human/species/yautja(src, ui_style, ui_color, ui_alpha) | ||
else | ||
hud_used = new /datum/hud/human/species/yautja(src) |
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,44 @@ | ||
/datum/element/yautja_tracked_item | ||
element_flags = ELEMENT_COMPLEX_DETACH | ||
|
||
/datum/element/yautja_tracked_item/Attach(obj/item/target) | ||
. = ..() | ||
if(!isitem(target)) | ||
return ELEMENT_INCOMPATIBLE | ||
RegisterSignal(target, COMSIG_ITEM_EQUIPPED, PROC_REF(item_picked_up)) | ||
RegisterSignal(target, COMSIG_ITEM_DROPPED, PROC_REF(item_dropped)) | ||
|
||
|
||
if(!is_honorable_carrier(recursive_holder_check(target))) | ||
add_to_missing_pred_gear(target) | ||
GLOB.tracked_yautja_gear += target | ||
|
||
/datum/element/yautja_tracked_item/Detach(datum/source, force) | ||
UnregisterSignal(source, list( | ||
COMSIG_ITEM_EQUIPPED, | ||
COMSIG_ITEM_DROPPED | ||
)) | ||
remove_from_missing_pred_gear(source) | ||
GLOB.tracked_yautja_gear -= source | ||
return ..() | ||
|
||
/datum/element/yautja_tracked_item/proc/item_picked_up(obj/item/picked_up_item, mob/living/carbon/human/user) | ||
SIGNAL_HANDLER | ||
|
||
if(is_honorable_carrier(user)) | ||
remove_from_missing_pred_gear(picked_up_item) | ||
|
||
/datum/element/yautja_tracked_item/proc/item_dropped(obj/item/dropped_item, mob/living/carbon/human/user) | ||
SIGNAL_HANDLER | ||
|
||
if(!is_honorable_carrier(recursive_holder_check(dropped_item))) | ||
add_to_missing_pred_gear(dropped_item) | ||
|
||
/proc/is_honorable_carrier(mob/living/carbon/human/carrier) | ||
if(isyautja(carrier)) | ||
return TRUE | ||
if((issynth(carrier) || ishuman(carrier)) && (carrier.hunter_data.honored || carrier.hunter_data.thralled) && !(carrier.hunter_data.dishonored || carrier.stat == DEAD)) | ||
return TRUE | ||
if(istype(carrier, /mob/hologram/falcon)) | ||
return TRUE | ||
return FALSE |
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,19 @@ | ||
/atom/proc/sway_jitter(times = 3, steps = 3, strength = 3, sway = 5) | ||
var/sway_dir = 1 //left to right | ||
animate(src, transform = turn(matrix(transform), sway * (sway_dir *= -1)), pixel_x = rand(-strength,strength), pixel_y = rand(-strength/3,strength/3), time = times, easing = JUMP_EASING, flags = ANIMATION_PARALLEL) | ||
for(var/i in 1 to steps) | ||
animate(transform = turn(matrix(transform), sway*2 * (sway_dir *= -1)), pixel_x = rand(-strength,strength), pixel_y = rand(-strength/3,strength/3), time = times, easing = JUMP_EASING) | ||
|
||
animate(transform = turn(matrix(transform), sway * (sway_dir *= -1)), pixel_x = 0, pixel_y = 0, time = 0)//ease it back | ||
|
||
/obj/effect/temp_visual/block //color is white by default, set to whatever is needed | ||
name = "blocking glow" | ||
icon_state = "block" | ||
duration = 6.7 | ||
|
||
/obj/effect/temp_visual/block/Initialize(mapload, set_color) | ||
if(set_color) | ||
add_atom_colour(set_color, FIXED_COLOUR_PRIORITY) | ||
. = ..() | ||
pixel_x = rand(-12, 12) | ||
pixel_y = rand(-9, 0) |
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,4 @@ | ||
/proc/create_new_clan(clanname) | ||
var/datum/db_query/query_create_clan = SSdbcore.NewQuery("INSERT INTO [format_table_name("clan")] (name, description, honor, color) VALUES (:name, :desc, 0, :color)", list("name" = clanname, "desc" = "This is a clan.", "color" = "#FFF")) | ||
query_create_clan.Execute() | ||
qdel(query_create_clan) |
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,180 @@ | ||
/client | ||
var/datum/db_query/clan_info | ||
|
||
/client/proc/load_player_predator_info() | ||
set waitfor = FALSE | ||
|
||
if(!SSdbcore.IsConnected()) | ||
return // Urgle test without DB... don't make runtime | ||
|
||
if(GLOB.roles_whitelist[ckey] & WHITELIST_PREDATOR) | ||
if(!update_clan_info()) | ||
return | ||
|
||
if(GLOB.roles_whitelist[ckey] & WHITELIST_YAUTJA_LEADER) | ||
clan_info.item[2] = CLAN_RANK_ADMIN_INT | ||
clan_info.item[3] |= CLAN_PERMISSION_ALL | ||
else | ||
clan_info.item[3] &= ~CLAN_PERMISSION_ADMIN_MANAGER // Only the leader can manage the ancients | ||
|
||
clan_info.sql = "UPDATE [format_table_name("clan_player")] SET clan_rank = :clan_rank, permissions = :permissions WHERE byond_ckey = :byond_ckey" | ||
clan_info.arguments = list("byond_ckey" = ckey, "clan_rank" = clan_info.item[2], "permissions" = clan_info.item[3]) | ||
clan_info.Execute() | ||
|
||
clan_info.sql = "SELECT byond_ckey, clan_rank, permissions, clan_id, honor FROM [format_table_name("clan_player")] WHERE byond_ckey = :byond_ckey" | ||
clan_info.arguments = list("byond_ckey" = ckey) | ||
if(!clan_info.warn_execute()) | ||
qdel(clan_info) | ||
return | ||
clan_info.next_row_to_take = 1 | ||
clan_info.NextRow() | ||
|
||
/client/proc/update_clan_info() | ||
if(!SSdbcore.IsConnected()) | ||
return // Urgle test without DB... don't make runtime | ||
if(GLOB.roles_whitelist[ckey] & WHITELIST_PREDATOR) | ||
if(clan_info) | ||
clan_info.sql = "SELECT byond_ckey, clan_rank, permissions, clan_id, honor FROM [format_table_name("clan_player")] WHERE byond_ckey = :byond_ckey" | ||
clan_info.arguments = list("byond_ckey" = ckey) | ||
clan_info.next_row_to_take = 1 | ||
else | ||
clan_info = SSdbcore.NewQuery("SELECT byond_ckey, clan_rank, permissions, clan_id, honor FROM [format_table_name("clan_player")] WHERE byond_ckey = :byond_ckey", list("byond_ckey" = ckey)) | ||
clan_info.no_auto_delete = TRUE | ||
if(!clan_info.warn_execute()) | ||
qdel(clan_info) | ||
return | ||
if(!clan_info.NextRow()) | ||
clan_info.sql = "INSERT INTO [format_table_name("clan_player")] (byond_ckey, clan_rank, permissions, clan_id, honor) VALUES (:byond_ckey, 0, 0, 0, 0)" | ||
clan_info.Execute() | ||
|
||
clan_info.sql = "SELECT byond_ckey, clan_rank, permissions, clan_id, honor FROM [format_table_name("clan_player")] WHERE byond_ckey = :byond_ckey" | ||
if(!clan_info.warn_execute()) | ||
qdel(clan_info) | ||
return | ||
clan_info.next_row_to_take = 1 | ||
clan_info.NextRow() | ||
return TRUE | ||
else | ||
return FALSE | ||
|
||
/client/proc/usr_create_new_clan() | ||
set name = "Create New Clan" | ||
set category = "Debug" | ||
|
||
if(!SSdbcore.IsConnected()) | ||
return | ||
|
||
if(!clan_info) | ||
return | ||
|
||
if(!(clan_info.item[3] & CLAN_PERMISSION_ADMIN_MANAGER)) | ||
return | ||
|
||
var/input = tgui_input_text(src, "Set name to clan", "Clan Name") | ||
|
||
if(!input) | ||
return | ||
|
||
to_chat(src, span_notice("Made a new clan called: [input]")) | ||
|
||
create_new_clan(input) | ||
|
||
/client/verb/view_clan_info() | ||
set name = "View Clan Info" | ||
set category = "OOC" | ||
|
||
var/clan_to_get | ||
|
||
if(!has_clan_permission(CLAN_PERMISSION_VIEW)) | ||
return | ||
|
||
if(!clan_info) | ||
to_chat(src, span_warning("You don't have a yautja whitelist!")) | ||
return | ||
|
||
if(clan_info.item[3] & CLAN_PERMISSION_ADMIN_VIEW) | ||
var/datum/db_query/db_clans = SSdbcore.NewQuery("SELECT id, name, description, honor, color FROM [format_table_name("clan")]") | ||
if(!db_clans.warn_execute()) | ||
qdel(db_clans) | ||
return | ||
var/list/clans = list() | ||
while(db_clans.NextRow()) | ||
clans += list("[db_clans.item[2]]" = db_clans.item[1]) | ||
|
||
qdel(db_clans) | ||
|
||
clans += list("People without clans" = null) | ||
|
||
var/input = tgui_input_list(src, "Choose the clan to view", "View clan", clans) | ||
|
||
if(!input) | ||
to_chat(src, span_warning("Couldn't find any clans for you to view!")) | ||
return | ||
|
||
clan_to_get = clans[input] | ||
else if(clan_info.item[4]) | ||
|
||
var/options = list( | ||
"Your clan" = clan_info.item[4], | ||
"People without clans" = null | ||
) | ||
|
||
var/input = tgui_input_list(src, "Choose the clan to view", "View clan", options) | ||
|
||
if(!input) | ||
return | ||
|
||
clan_to_get = options[input] | ||
else | ||
clan_to_get = null | ||
|
||
SSpredships.clan_ui.clan_id_by_user[mob] = clan_to_get | ||
|
||
SSpredships.clan_ui.ui_interact(mob) | ||
|
||
/client/proc/has_clan_permission(permission_flag, clan_id, warn = TRUE) | ||
if(!update_clan_info() || !clan_info || length(clan_info.item) != 5) | ||
if(warn) | ||
to_chat(src, "You do not have a yautja whitelist!") | ||
return FALSE | ||
|
||
if(clan_id) | ||
if(clan_id != clan_info.item[4]) | ||
if(warn) | ||
to_chat(src, "You do not have permission to perform actions on this clan!") | ||
return FALSE | ||
|
||
|
||
if(!(clan_info.item[3] & permission_flag)) | ||
if(warn) | ||
to_chat(src, "You do not have the necessary permissions to perform this action!") | ||
return FALSE | ||
|
||
return TRUE | ||
|
||
/client/proc/add_honor(number) | ||
if(!clan_info) | ||
return FALSE | ||
|
||
clan_info.sql = "UPDATE [format_table_name("clan_player")] SET honor = :honor WHERE byond_ckey = :byond_ckey" | ||
clan_info.arguments = list("byond_ckey" = ckey, "honor" = number + clan_info.item[5]) | ||
clan_info.Execute() | ||
|
||
clan_info.sql = "SELECT byond_ckey, clan_rank, permissions, clan_id, honor FROM [format_table_name("clan_player")] WHERE byond_ckey = :byond_ckey" | ||
clan_info.arguments = list("byond_ckey" = ckey) | ||
if(!clan_info.warn_execute()) | ||
return | ||
clan_info.next_row_to_take = 1 | ||
clan_info.NextRow() | ||
|
||
if(clan_info.item[4]) | ||
var/datum/db_query/target_clan = SSdbcore.NewQuery("SELECT id, name, description, honor, color FROM [format_table_name("clan")] WHERE id = :clan_id", list("clan_id" = clan_info.item[4])) | ||
if(!target_clan.warn_execute()) | ||
return | ||
target_clan.NextRow() | ||
target_clan.sql = "UPDATE [format_table_name("clan")] SET honor = :honor WHERE id = :clan_id" | ||
target_clan.arguments = list("clan_id" = clan_info.item[4], "honor" = number + target_clan.item[4]) | ||
target_clan.Execute() | ||
qdel(target_clan) | ||
|
||
return TRUE |
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,44 @@ | ||
/datum/yautja_rank | ||
var/name | ||
|
||
var/limit_type | ||
var/limit | ||
|
||
var/permissions = CLAN_PERMISSION_USER_VIEW | ||
var/permission_required = CLAN_PERMISSION_USER_MODIFY | ||
|
||
/datum/yautja_rank/unblooded | ||
name = CLAN_RANK_UNBLOODED | ||
permission_required = CLAN_PERMISSION_ADMIN_MODIFY | ||
|
||
/datum/yautja_rank/young | ||
name = CLAN_RANK_YOUNG | ||
|
||
/datum/yautja_rank/blooded | ||
name = CLAN_RANK_BLOODED | ||
|
||
/datum/yautja_rank/elite | ||
name = CLAN_RANK_ELITE | ||
|
||
limit_type = CLAN_LIMIT_SIZE | ||
limit = 5 | ||
|
||
/datum/yautja_rank/elder | ||
name = CLAN_RANK_ELDER | ||
|
||
limit_type = CLAN_LIMIT_SIZE | ||
limit = 12 | ||
|
||
/datum/yautja_rank/leader | ||
name = CLAN_RANK_LEADER | ||
|
||
permissions = CLAN_PERMISSION_USER_ALL | ||
permission_required = CLAN_PERMISSION_ADMIN_MODIFY | ||
limit_type = CLAN_LIMIT_NUMBER | ||
limit = 1 | ||
|
||
/datum/yautja_rank/ancient | ||
name = CLAN_RANK_ADMIN | ||
|
||
permission_required = CLAN_PERMISSION_ADMIN_MANAGER | ||
permissions = CLAN_PERMISSION_ADMIN_ANCIENT |
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,7 @@ | ||
/obj/effect/landmark/clan_spawn | ||
name = "clan spawn" | ||
|
||
/obj/effect/landmark/clan_spawn/New() | ||
. = ..() | ||
SSpredships.init_spawnpoint(src) | ||
qdel(src) |
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,22 @@ | ||
//Gear select defines | ||
#define YAUTJA_GEAR_GLAIVE "The Lumbering Glaive" | ||
#define YAUTJA_GEAR_WHIP "The Rending Chain-Whip" | ||
#define YAUTJA_GEAR_SWORD "The Piercing Hunting Sword" | ||
#define YAUTJA_GEAR_SCYTHE "The Cleaving War-Scythe" | ||
#define YAUTJA_GEAR_STICK "The Adaptive Combi-Stick" | ||
#define YAUTJA_GEAR_SPEAR "The Nimble Spear" | ||
#define YAUTJA_GEAR_SCIMS "The Fearsome Scimitars" | ||
#define YAUTJA_GEAR_LAUNCHER "The Fleeting Spike Launcher" | ||
#define YAUTJA_GEAR_PISTOL "The Swift Plasma Pistol" | ||
#define YAUTJA_GEAR_DISC "The Purifying Smart-Disc" | ||
#define YAUTJA_GEAR_FULL_ARMOR "The Formidable Plate Armor" | ||
#define YAUTJA_GEAR_SHIELD "The Steadfast Shield" | ||
#define YAUTJA_GEAR_DRONE "The Agile Drone" | ||
|
||
#define YAUTJA_GEAR_GLAIVE_ALT "The Imposing Glaive" | ||
#define YAUTJA_GEAR_SCYTHE_ALT "The Ripping War-Scythe" | ||
|
||
#define YAUTJA_THRALL_GEAR_MACHETE "The Swift Machete" | ||
#define YAUTJA_THRALL_GEAR_RAPIER "The Dancing Rapier" | ||
#define YAUTJA_THRALL_GEAR_CLAYMORE "The Broad Claymore" | ||
#define YAUTJA_THRALL_GEAR_FIREAXE "The Purposeful Fireaxe" |
Oops, something went wrong.