Skip to content

Commit 2f10897

Browse files
committed
Merge branch 'master' of https://github.com/VortexQuake2/Vortex
2 parents 27303e6 + e54ab1e commit 2f10897

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+1532
-648
lines changed

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Cmake script based off several sources, including cleancodequake2.
22

33
# Specify minimum version of CMake required
4-
cmake_minimum_required(VERSION 3.0)
4+
cmake_minimum_required(VERSION 3.25)
55

66
# Project name
77
project(VortexQuake2)
@@ -17,7 +17,7 @@ option(VRX_Q2PRO "Use map/gamemap differentiation (for q2pro)." TRUE)
1717
option(VRX_OLD_NOLAG "Use old NOLAG style. Not recommended." FALSE)
1818
option(VRX_OLD_VOTE "Use old vote system." FALSE)
1919

20-
set(CMAKE_C_STANDARD 99)
20+
set(CMAKE_C_STANDARD 11)
2121
set(CMAKE_C_STANDARD_REQUIRED TRUE)
2222

2323
# Source files

lua/variables.lua

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -507,21 +507,21 @@ MIND_ABSORB_RADIUS_BASE = 256
507507
MIND_ABSORB_RADIUS_BONUS = 0
508508
MIND_ABSORB_AMOUNT_BASE = 0
509509
MIND_ABSORB_AMOUNT_BONUS = 10
510-
LOWER_RESIST_INITIAL_RANGE = 1024
511-
LOWER_RESIST_ADDON_RANGE = 0
512-
LOWER_RESIST_INITIAL_RADIUS = 256
513-
LOWER_RESIST_ADDON_RADIUS = 0
514-
LOWER_RESIST_INITIAL_DURATION = 0
515-
LOWER_RESIST_ADDON_DURATION = 1.0
516-
LOWER_RESIST_COST = 25
517-
LOWER_RESIST_DELAY = 2.0
518-
LOWER_RESIST_INITIAL_FACTOR = 0.25
519-
LOWER_RESIST_ADDON_FACTOR = 0.025
510+
LIFE_TAP_INITIAL_RANGE = 1024
511+
LIFE_TAP_ADDON_RANGE = 0
512+
LIFE_TAP_INITIAL_RADIUS = 256
513+
LIFE_TAP_ADDON_RADIUS = 0
514+
LIFE_TAP_INITIAL_DURATION = 0
515+
LIFE_TAP_ADDON_DURATION = 1.0
516+
LIFE_TAP_COST = 25
517+
LIFE_TAP_DELAY = 2.0
518+
LIFE_TAP_INITIAL_FACTOR = 0.0
519+
LIFE_TAP_ADDON_FACTOR = 0.05
520520
AMP_DAMAGE_DELAY = 2
521521
AMP_DAMAGE_DURATION_BASE = 0
522-
AMP_DAMAGE_DURATION_BONUS = 2.0
522+
AMP_DAMAGE_DURATION_BONUS = 1.0
523523
AMP_DAMAGE_COST = 25
524-
AMP_DAMAGE_MULT_BASE = 1.5
524+
AMP_DAMAGE_MULT_BASE = 1.0
525525
AMP_DAMAGE_MULT_BONUS = 0.1
526526
WEAKEN_DELAY = 2
527527
WEAKEN_DURATION_BASE = 0
@@ -684,6 +684,8 @@ M_BARON_FIRE_INITIAL_HEALTH = 0
684684
M_BARON_FIRE_ADDON_HEALTH = 2500
685685
M_BARON_FIRE_INITIAL_ARMOR = 0
686686
M_BARON_FIRE_ADDON_ARMOR = 0
687+
M_SHAMBLER_INITIAL_HEALTH = 250 -- 1500
688+
M_SHAMBLER_ADDON_HEALTH = 125
687689

688690
-- Monster Weapons --
689691
M_ENABLE_WORLDSPAWN_SOFTCAP = 1
@@ -1242,6 +1244,16 @@ GASSER_DELAY = 1.0
12421244
GASCLOUD_POISON_DURATION = 10.0
12431245
GASCLOUD_POISON_FACTOR = 0.1
12441246

1247+
ACID_INITIAL_DAMAGE = 50
1248+
ACID_ADDON_DAMAGE = 15
1249+
ACID_INITIAL_SPEED = 600
1250+
ACID_ADDON_SPEED = 0
1251+
ACID_INITIAL_RADIUS = 64
1252+
ACID_ADDON_RADIUS = 0
1253+
ACID_DURATION = 10.0
1254+
ACID_DELAY = 0.2
1255+
ACID_COST = 20
1256+
12451257
--Blink Strike
12461258
BLINKSTRIKE_INITIAL_COST = 50
12471259
BLINKSTRIKE_ADDON_COST = -4

sql/vrx-5.7.sql

Lines changed: 53 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -2,72 +2,83 @@ create table if not exists abilities
22
(
33
char_idx int not null,
44
aindex int not null,
5-
level int null,
6-
max_level int null,
7-
hard_max int null,
8-
modifier int null,
9-
disable int null,
10-
general_skill int null,
5+
level int not null,
6+
max_level int not null,
7+
hard_max int not null,
8+
modifier int not null,
9+
disable int not null,
10+
general_skill int not null,
1111
primary key (char_idx, aindex)
1212
);
1313

14+
create table if not exists prestige
15+
(
16+
char_idx int not null,
17+
pindex int not null,
18+
param int not null,
19+
level int not null,
20+
primary key (char_idx, pindex, param)
21+
);
22+
1423
create table if not exists character_data
1524
(
1625
char_idx int not null,
17-
respawns int null,
18-
health int null,
19-
maxhealth int null,
20-
armour int null,
21-
maxarmour int null,
22-
nerfme int null,
23-
adminlevel int null,
24-
bosslevel int null,
26+
respawns int not null default 0,
27+
health int not null default 100,
28+
maxhealth int not null default 100,
29+
armour int not null default 0,
30+
maxarmour int not null default 0,
31+
nerfme int not null default 0,
32+
adminlevel int not null default 0,
33+
bosslevel int not null default 0,
34+
prestigelevel int not null default 0,
35+
prestigepoints int not null default 0,
2536
primary key (char_idx)
2637
);
2738

2839
create table if not exists ctf_stats
2940
(
3041
char_idx int not null,
31-
flag_pickups int null,
32-
flag_captures int null,
33-
flag_returns int null,
34-
flag_kills int null,
35-
offense_kills int null,
36-
defense_kills int null,
37-
assists int null,
42+
flag_pickups int not null default 0,
43+
flag_captures int not null default 0,
44+
flag_returns int not null default 0,
45+
flag_kills int not null default 0,
46+
offense_kills int not null default 0,
47+
defense_kills int not null default 0,
48+
assists int not null default 0,
3849
primary key (char_idx)
3950
);
4051

4152
create table if not exists game_stats
4253
(
4354
char_idx int not null,
44-
shots int null,
45-
shots_hit int null,
46-
frags int null,
47-
fragged int null,
48-
num_sprees int null,
49-
max_streak int null,
50-
spree_wars int null,
51-
broken_sprees int null,
52-
broken_spreewars int null,
53-
suicides int null,
54-
teleports int null,
55-
num_2fers int null,
55+
shots int not null default 0,
56+
shots_hit int not null default 0,
57+
frags int not null default 0,
58+
fragged int not null default 0,
59+
num_sprees int not null default 0,
60+
max_streak int not null default 0,
61+
spree_wars int not null default 0,
62+
broken_sprees int not null default 0,
63+
broken_spreewars int not null default 0,
64+
suicides int not null default 0,
65+
teleports int not null default 0,
66+
num_2fers int not null default 0,
5667
primary key (char_idx)
5768
);
5869

5970
create table if not exists point_data
6071
(
6172
char_idx int not null,
62-
exp int null,
63-
exptnl int null,
64-
level int null,
65-
classnum int null,
66-
skillpoints int null,
67-
credits int null,
68-
weap_points int null,
69-
resp_weapon int null,
70-
tpoints int null,
73+
exp int not null,
74+
exptnl int not null,
75+
level int not null default 0,
76+
classnum int not null default 0,
77+
skillpoints int not null default 0,
78+
credits int not null default 0,
79+
weap_points int not null default 0,
80+
resp_weapon int not null default 0,
81+
tpoints int not null default 0,
7182
primary key (char_idx)
7283
);
7384

src/characters/Talents.c

Lines changed: 29 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ const talentdef_t talents_poltergeist[] = {
3434
};
3535

3636
const talentdef_t talents_alien[] = {
37-
{TALENT_PHANTOM_OBSTACLE, 5, false},
37+
{TALENT_SPITTING_GASSER, 5, false},
3838
{TALENT_SUPER_HEALER, 5, false},
3939
{TALENT_PHANTOM_COCOON, 5, false},
4040
{TALENT_SWARMING, 5, false},
@@ -53,12 +53,12 @@ const talentdef_t talents_vampire[] = {
5353
};
5454

5555
const talentdef_t talents_necromancer[] = {
56-
{TALENT_CHEAPER_CURSES, 5, false},
56+
{TALENT_HELLSPAWN_MASTERY, 5, false},
5757
{TALENT_CORPULENCE, 5, false},
58-
{TALENT_LIFE_TAP, 5, false},
58+
{TALENT_OBLATION, 5, false},
5959
{TALENT_DIM_VISION, 5, false},
6060
{TALENT_EVIL_CURSE, 5, false},
61-
{TALENT_FLIGHT, 5, false},
61+
{TALENT_BLACK_DEATH, 5, false},
6262
{-1, 0, 0}
6363
};
6464

@@ -292,12 +292,12 @@ void vrx_upgrade_talent(edict_t *ent, int talentID) {
292292
safe_cprintf(ent, PRINT_HIGH, "Precision Tuning can't be combined with Rapid Assembly.\n");
293293
return;
294294
}
295-
if (talentID == TALENT_CORPULENCE && vrx_get_talent_level(ent, TALENT_LIFE_TAP) > 0) {
296-
safe_cprintf(ent, PRINT_HIGH, "Corpulence can't be combined with Life Tap.\n");
295+
if (talentID == TALENT_CORPULENCE && vrx_get_talent_level(ent, TALENT_OBLATION) > 0) {
296+
safe_cprintf(ent, PRINT_HIGH, "Corpulence can't be combined with Oblation.\n");
297297
return;
298298
}
299-
if (talentID == TALENT_LIFE_TAP && vrx_get_talent_level(ent, TALENT_CORPULENCE) > 0) {
300-
safe_cprintf(ent, PRINT_HIGH, "Life Tap can't be combined with Corpulence.\n");
299+
if (talentID == TALENT_OBLATION && vrx_get_talent_level(ent, TALENT_CORPULENCE) > 0) {
300+
safe_cprintf(ent, PRINT_HIGH, "Oblation can't be combined with Corpulence.\n");
301301
return;
302302
}
303303

@@ -548,29 +548,32 @@ int writeTalentDescription(edict_t *ent, int talentID) {
548548
return 4;
549549
//Necromancer talents
550550
case TALENT_EVIL_CURSE:
551-
menu_add_line(ent, "Increases curse duration.", MENU_WHITE_CENTERED);
552-
return 1;
553-
case TALENT_CHEAPER_CURSES:
554-
menu_add_line(ent, "Reduces curse cost.", MENU_WHITE_CENTERED);
555-
return 1;
551+
menu_add_line(ent, "Increases curse duration", MENU_WHITE_CENTERED);
552+
menu_add_line(ent, "and reduces cost.", MENU_WHITE_CENTERED);
553+
return 2;
554+
case TALENT_HELLSPAWN_MASTERY:
555+
menu_add_line(ent, "Improves hellspawn. Adds", MENU_WHITE_CENTERED);
556+
menu_add_line(ent, "secondary attack.", MENU_WHITE_CENTERED);
557+
return 2;
556558
case TALENT_CORPULENCE:
557559
menu_add_line(ent, "Increases monster health/armor", MENU_WHITE_CENTERED);
558560
menu_add_line(ent, "Can't combine with Life Tap.", MENU_WHITE_CENTERED);
559561
return 2;
560-
case TALENT_LIFE_TAP:
561-
menu_add_line(ent, "Increases monster damage", MENU_WHITE_CENTERED);
562-
menu_add_line(ent, "but slowly saps life.", MENU_WHITE_CENTERED);
562+
case TALENT_OBLATION:
563+
menu_add_line(ent, "Increases monster damage.", MENU_WHITE_CENTERED);
563564
menu_add_line(ent, "Can't combine with", MENU_WHITE_CENTERED);
564565
menu_add_line(ent, "Corpulence.", MENU_WHITE_CENTERED);
565-
return 4;
566+
return 3;
566567
case TALENT_DIM_VISION:
567568
menu_add_line(ent, "Adds chance to", MENU_WHITE_CENTERED);
568569
menu_add_line(ent, "automatically curse", MENU_WHITE_CENTERED);
569570
menu_add_line(ent, "enemies that shoot you.", MENU_WHITE_CENTERED);
570571
return 3;
571-
case TALENT_FLIGHT:
572-
menu_add_line(ent, "Reduces jetpack cost.", MENU_WHITE_CENTERED);
573-
return 1;
572+
case TALENT_BLACK_DEATH:
573+
menu_add_line(ent, "Enemies that touch infected", MENU_WHITE_CENTERED);
574+
menu_add_line(ent, "corpses will take extra", MENU_WHITE_CENTERED);
575+
menu_add_line(ent, "damage from plague.", MENU_WHITE_CENTERED);
576+
return 3;
574577
//Shaman talents
575578
case TALENT_TOTEM:
576579
menu_add_line(ent, "Allows you to spawn", MENU_WHITE_CENTERED);
@@ -603,9 +606,12 @@ int writeTalentDescription(edict_t *ent, int talentID) {
603606
menu_add_line(ent, "totem to shoot a fireball.", MENU_WHITE_CENTERED);
604607
return 2;
605608
//Alien talents
606-
case TALENT_PHANTOM_OBSTACLE:
607-
menu_add_line(ent, "Reduces time to cloak.", MENU_WHITE_CENTERED);
608-
return 1;
609+
case TALENT_SPITTING_GASSER:
610+
menu_add_line(ent, "Gives gassers an acid attack", MENU_WHITE_CENTERED);
611+
menu_add_line(ent, "which is tied to your", MENU_WHITE_CENTERED);
612+
menu_add_line(ent, "acid ability. Upgrades", MENU_WHITE_CENTERED);
613+
menu_add_line(ent, "increase rate of fire.", MENU_WHITE_CENTERED);
614+
return 4;
609615
case TALENT_SUPER_HEALER:
610616
menu_add_line(ent, "Allows healer to heal", MENU_WHITE_CENTERED);
611617
menu_add_line(ent, "beyond maximum health.", MENU_WHITE_CENTERED);

src/characters/Talents.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,11 @@
5454
#define TALENT_BOOMERANG 73
5555
#define TALENT_BALANCESPIRIT 74
5656
//Necromancer
57-
#define TALENT_CHEAPER_CURSES 80
57+
#define TALENT_HELLSPAWN_MASTERY 80
5858
#define TALENT_CORPULENCE 81
59-
#define TALENT_LIFE_TAP 82
59+
#define TALENT_OBLATION 82
6060
#define TALENT_DIM_VISION 83
61-
#define TALENT_FLIGHT 84
61+
#define TALENT_BLACK_DEATH 84
6262
#define TALENT_EVIL_CURSE 85
6363
//Shaman
6464
#define TALENT_WIND 90
@@ -73,7 +73,7 @@
7373
#define TALENT_EXPLODING_BODIES 100
7474
#define TALENT_SWARMING 101
7575
#define TALENT_PHANTOM_COCOON 102
76-
#define TALENT_PHANTOM_OBSTACLE 103
76+
#define TALENT_SPITTING_GASSER 103
7777
#define TALENT_SUPER_HEALER 104
7878
#define TALENT_LIFE_REG 135
7979
//Weapon Master

src/characters/io/v_characterio.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,8 @@ void vrx_setup_sqlite_io() {
116116
.handle_status = NULL,
117117
.character_exists = &vrx_sqlite_character_exists,
118118
.is_loading = &vrx_sqlite_isloading,
119-
.set_owner = &cdb_set_owner
119+
.set_owner = &cdb_set_owner,
120+
.type = SAVEMETHOD_SQLITE
120121
};
121122

122123
cdb_start_connection();
@@ -170,7 +171,8 @@ void vrx_setup_mysql_io() {
170171
.load_player = &vrx_mysql_load_character,
171172
.is_loading = &vrx_mysql_isloading,
172173
.handle_status = &gds_handle_status,
173-
.set_owner = &gds_queue_add_setowner
174+
.set_owner = &gds_queue_add_setowner,
175+
.type = SAVEMETHOD_MYSQL
174176
};
175177

176178
gds_connect();

src/characters/io/v_characterio.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ typedef struct {
1313
qboolean (*is_loading) (edict_t* ent); // if it's already loading... don't bother calling load_player again.
1414
void (*handle_status)(edict_t* ent); // if not null, this is a multithreaded io system.
1515
void (*set_owner)(edict_t* ent, char* charname, char* mpw);
16+
int type;
1617
} char_io_t;
1718

1819
extern char_io_t vrx_char_io;

0 commit comments

Comments
 (0)